/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package org.nico.db.sql.editor;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 *
 * @author nicolas
 */
public class DefaultFunctionList {

    public static Map<String, List<PostgisFunction>> getList() {

        Map<String, List<PostgisFunction>> res = new HashMap<String, List<PostgisFunction>>();
        res.put("addgeometrycolumn", PostgisFunction.toList(new PostgisFunction("AddGeometryColumn", "text", Arrays.asList(new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("type", "varchar"), new PostgisFunctionParam("dimension", "integer"), new PostgisFunctionParam("use_typmod=true", "boolean"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("type", "varchar"), new PostgisFunctionParam("dimension", "integer"), new PostgisFunctionParam("use_typmod=true", "boolean"), new PostgisFunctionParam("catalog_name", "varchar"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("type", "varchar"), new PostgisFunctionParam("dimension", "integer"), new PostgisFunctionParam("use_typmod=true", "boolean")), "AddGeometryColumn"))); //NOI18N
        res.put("dropgeometrycolumn", PostgisFunction.toList(new PostgisFunction("DropGeometryColumn", "text", Arrays.asList(new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("catalog_name", "varchar"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar")), "DropGeometryColumn"))); //NOI18N
        res.put("dropgeometrytable", PostgisFunction.toList(new PostgisFunction("DropGeometryTable", "boolean", Arrays.asList(new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("catalog_name", "varchar"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar")), "DropGeometryTable"))); //NOI18N
        res.put("postgis_full_version", PostgisFunction.toList(new PostgisFunction("PostGIS_Full_Version", "text", null, "PostGIS_Full_Version"))); //NOI18N
        res.put("postgis_geos_version", PostgisFunction.toList(new PostgisFunction("PostGIS_GEOS_Version", "text", null, "PostGIS_GEOS_Version"))); //NOI18N
        res.put("postgis_libxml_version", PostgisFunction.toList(new PostgisFunction("PostGIS_LibXML_Version", "text", null, "PostGIS_LibXML_Version"))); //NOI18N
        res.put("postgis_lib_build_date", PostgisFunction.toList(new PostgisFunction("PostGIS_Lib_Build_Date", "text", null, "PostGIS_Lib_Build_Date"))); //NOI18N
        res.put("postgis_lib_version", PostgisFunction.toList(new PostgisFunction("PostGIS_Lib_Version", "text", null, "PostGIS_Lib_Version"))); //NOI18N
        res.put("postgis_proj_version", PostgisFunction.toList(new PostgisFunction("PostGIS_PROJ_Version", "text", null, "PostGIS_PROJ_Version"))); //NOI18N
        res.put("postgis_scripts_build_date", PostgisFunction.toList(new PostgisFunction("PostGIS_Scripts_Build_Date", "text", null, "PostGIS_Scripts_Build_Date"))); //NOI18N
        res.put("postgis_scripts_installed", PostgisFunction.toList(new PostgisFunction("PostGIS_Scripts_Installed", "text", null, "PostGIS_Scripts_Installed"))); //NOI18N
        res.put("postgis_scripts_released", PostgisFunction.toList(new PostgisFunction("PostGIS_Scripts_Released", "text", null, "PostGIS_Scripts_Released"))); //NOI18N
        res.put("postgis_version", PostgisFunction.toList(new PostgisFunction("PostGIS_Version", "text", null, "PostGIS_Version"))); //NOI18N
        res.put("populate_geometry_columns", PostgisFunction.toList(new PostgisFunction("Populate_Geometry_Columns", "text", Arrays.asList(new PostgisFunctionParam("use_typmod=true", "boolean"), new PostgisFunctionParam("relation_oid", "oid"), new PostgisFunctionParam("use_typmod=true", "boolean")), "Populate_Geometry_Columns"))); //NOI18N
        res.put("updategeometrysrid", PostgisFunction.toList(new PostgisFunction("UpdateGeometrySRID", "text", Arrays.asList(new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("catalog_name", "varchar"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("srid", "integer")), "UpdateGeometrySRID"))); //NOI18N
        res.put("st_bdpolyfromtext", PostgisFunction.toList(new PostgisFunction("ST_BdPolyFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer")), "ST_BdPolyFromText"))); //NOI18N
        res.put("st_bdmpolyfromtext", PostgisFunction.toList(new PostgisFunction("ST_BdMPolyFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer")), "ST_BdMPolyFromText"))); //NOI18N
        res.put("st_box2dfromgeohash", PostgisFunction.toList(new PostgisFunction("ST_Box2dFromGeoHash", "box2d", Arrays.asList(new PostgisFunctionParam("geohash", "text"), new PostgisFunctionParam("precision=full_precision_of_geohash", "integer")), "ST_Box2dFromGeoHash"))); //NOI18N
        res.put("st_geogfromtext", PostgisFunction.toList(new PostgisFunction("ST_GeogFromText", "geography", Arrays.asList(new PostgisFunctionParam("EWKT", "text")), "ST_GeogFromText"))); //NOI18N
        res.put("st_geographyfromtext", PostgisFunction.toList(new PostgisFunction("ST_GeographyFromText", "geography", Arrays.asList(new PostgisFunctionParam("EWKT", "text")), "ST_GeographyFromText"))); //NOI18N
        res.put("st_geogfromwkb", PostgisFunction.toList(new PostgisFunction("ST_GeogFromWKB", "geography", Arrays.asList(new PostgisFunctionParam("geom", "bytea")), "ST_GeogFromWKB"))); //NOI18N
        res.put("st_geomcollfromtext", PostgisFunction.toList(new PostgisFunction("ST_GeomCollFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("WKT", "text")), "ST_GeomCollFromText"))); //NOI18N
        res.put("st_geomfromewkb", PostgisFunction.toList(new PostgisFunction("ST_GeomFromEWKB", "geometry", Arrays.asList(new PostgisFunctionParam("EWKB", "bytea")), "ST_GeomFromEWKB"))); //NOI18N
        res.put("st_geomfromewkt", PostgisFunction.toList(new PostgisFunction("ST_GeomFromEWKT", "geometry", Arrays.asList(new PostgisFunctionParam("EWKT", "text")), "ST_GeomFromEWKT"))); //NOI18N
        res.put("st_geometryfromtext", PostgisFunction.toList(new PostgisFunction("ST_GeometryFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer")), "ST_GeometryFromText"))); //NOI18N
        res.put("st_geomfromgeohash", PostgisFunction.toList(new PostgisFunction("ST_GeomFromGeoHash", "geometry", Arrays.asList(new PostgisFunctionParam("geohash", "text"), new PostgisFunctionParam("precision=full_precision_of_geohash", "integer")), "ST_GeomFromGeoHash"))); //NOI18N
        res.put("st_geomfromgml", PostgisFunction.toList(new PostgisFunction("ST_GeomFromGML", "geometry", Arrays.asList(new PostgisFunctionParam("geomgml", "text"), new PostgisFunctionParam("geomgml", "text"), new PostgisFunctionParam("srid", "integer")), "ST_GeomFromGML"))); //NOI18N
        res.put("st_geomfromgeojson", PostgisFunction.toList(new PostgisFunction("ST_GeomFromGeoJSON", "geometry", Arrays.asList(new PostgisFunctionParam("geomjson", "text")), "ST_GeomFromGeoJSON"))); //NOI18N
        res.put("st_geomfromkml", PostgisFunction.toList(new PostgisFunction("ST_GeomFromKML", "geometry", Arrays.asList(new PostgisFunctionParam("geomkml", "text")), "ST_GeomFromKML"))); //NOI18N
        res.put("st_gmltosql", PostgisFunction.toList(new PostgisFunction("ST_GMLToSQL", "geometry", Arrays.asList(new PostgisFunctionParam("geomgml", "text"), new PostgisFunctionParam("geomgml", "text"), new PostgisFunctionParam("srid", "integer")), "ST_GMLToSQL"))); //NOI18N
        res.put("st_geomfromtext", PostgisFunction.toList(new PostgisFunction("ST_GeomFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer")), "ST_GeomFromText"))); //NOI18N
        res.put("st_geomfromwkb", PostgisFunction.toList(new PostgisFunction("ST_GeomFromWKB", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "bytea"), new PostgisFunctionParam("geom", "bytea"), new PostgisFunctionParam("srid", "integer")), "ST_GeomFromWKB"))); //NOI18N
        res.put("st_linefrommultipoint", PostgisFunction.toList(new PostgisFunction("ST_LineFromMultiPoint", "geometry", Arrays.asList(new PostgisFunctionParam("aMultiPoint", "geometry")), "ST_LineFromMultiPoint"))); //NOI18N
        res.put("st_linefromtext", PostgisFunction.toList(new PostgisFunction("ST_LineFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer")), "ST_LineFromText"))); //NOI18N
        res.put("st_linefromwkb", PostgisFunction.toList(new PostgisFunction("ST_LineFromWKB", "geometry", Arrays.asList(new PostgisFunctionParam("WKB", "bytea"), new PostgisFunctionParam("WKB", "bytea"), new PostgisFunctionParam("srid", "integer")), "ST_LineFromWKB"))); //NOI18N
        res.put("st_linestringfromwkb", PostgisFunction.toList(new PostgisFunction("ST_LinestringFromWKB", "geometry", Arrays.asList(new PostgisFunctionParam("WKB", "bytea"), new PostgisFunctionParam("WKB", "bytea"), new PostgisFunctionParam("srid", "integer")), "ST_LinestringFromWKB"))); //NOI18N
        res.put("st_makebox2d", PostgisFunction.toList(new PostgisFunction("ST_MakeBox2D", "box2d", Arrays.asList(new PostgisFunctionParam("pointLowLeft", "geometry"), new PostgisFunctionParam("pointUpRight", "geometry")), "ST_MakeBox2D"))); //NOI18N
        res.put("st_3dmakebox", PostgisFunction.toList(new PostgisFunction("ST_3DMakeBox", "box3d", Arrays.asList(new PostgisFunctionParam("point3DLowLeftBottom", "geometry"), new PostgisFunctionParam("point3DUpRightTop", "geometry")), "ST_3DMakeBox"))); //NOI18N
        res.put("st_makeline", PostgisFunction.toList(new PostgisFunction("ST_MakeLine", "geometry", Arrays.asList(new PostgisFunctionParam("geoms", "geometry set"), new PostgisFunctionParam("geom1", "geometry"), new PostgisFunctionParam("geom2", "geometry"), new PostgisFunctionParam("geoms_array", "geometry[]")), "ST_MakeLine"))); //NOI18N
        res.put("st_makeenvelope", PostgisFunction.toList(new PostgisFunction("ST_MakeEnvelope", "geometry", Arrays.asList(new PostgisFunctionParam("xmin", "double precision"), new PostgisFunctionParam("ymin", "double precision"), new PostgisFunctionParam("xmax", "double precision"), new PostgisFunctionParam("ymax", "double precision"), new PostgisFunctionParam("srid=unknown", "integer")), "ST_MakeEnvelope"))); //NOI18N
        res.put("st_makepolygon", PostgisFunction.toList(new PostgisFunction("ST_MakePolygon", "geometry", Arrays.asList(new PostgisFunctionParam("linestring", "geometry"), new PostgisFunctionParam("outerlinestring", "geometry"), new PostgisFunctionParam("interiorlinestrings", "geometry[]")), "ST_MakePolygon"))); //NOI18N
        res.put("st_makepoint", PostgisFunction.toList(new PostgisFunction("ST_MakePoint", "geometry", Arrays.asList(new PostgisFunctionParam("x", "double precision"), new PostgisFunctionParam("y", "double precision"), new PostgisFunctionParam("x", "double precision"), new PostgisFunctionParam("y", "double precision"), new PostgisFunctionParam("z", "double precision"), new PostgisFunctionParam("x", "double precision"), new PostgisFunctionParam("y", "double precision"), new PostgisFunctionParam("z", "double precision"), new PostgisFunctionParam("m", "double precision")), "ST_MakePoint"))); //NOI18N
        res.put("st_makepointm", PostgisFunction.toList(new PostgisFunction("ST_MakePointM", "geometry", Arrays.asList(new PostgisFunctionParam("x", "float"), new PostgisFunctionParam("y", "float"), new PostgisFunctionParam("m", "float")), "ST_MakePointM"))); //NOI18N
        res.put("st_mlinefromtext", PostgisFunction.toList(new PostgisFunction("ST_MLineFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("WKT", "text")), "ST_MLineFromText"))); //NOI18N
        res.put("st_mpointfromtext", PostgisFunction.toList(new PostgisFunction("ST_MPointFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("WKT", "text")), "ST_MPointFromText"))); //NOI18N
        res.put("st_mpolyfromtext", PostgisFunction.toList(new PostgisFunction("ST_MPolyFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("WKT", "text")), "ST_MPolyFromText"))); //NOI18N
        res.put("st_point", PostgisFunction.toList(new PostgisFunction("ST_Point", "geometry", Arrays.asList(new PostgisFunctionParam("x_lon", "float"), new PostgisFunctionParam("y_lat", "float")), "ST_Point"))); //NOI18N
        res.put("st_pointfromgeohash", PostgisFunction.toList(new PostgisFunction("ST_PointFromGeoHash", "point", Arrays.asList(new PostgisFunctionParam("geohash", "text"), new PostgisFunctionParam("precision=full_precision_of_geohash", "integer")), "ST_PointFromGeoHash"))); //NOI18N
        res.put("st_pointfromtext", PostgisFunction.toList(new PostgisFunction("ST_PointFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer")), "ST_PointFromText"))); //NOI18N
        res.put("st_geomfromwkb", PostgisFunction.toList(new PostgisFunction("ST_GeomFromWKB", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "bytea"), new PostgisFunctionParam("geom", "bytea"), new PostgisFunctionParam("srid", "integer")), "ST_PointFromWKB"))); //NOI18N
        res.put("st_polygon", PostgisFunction.toList(new PostgisFunction("ST_Polygon", "geometry", Arrays.asList(new PostgisFunctionParam("aLineString", "geometry"), new PostgisFunctionParam("srid", "integer")), "ST_Polygon"))); //NOI18N
        res.put("st_polygonfromtext", PostgisFunction.toList(new PostgisFunction("ST_PolygonFromText", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("WKT", "text"), new PostgisFunctionParam("srid", "integer")), "ST_PolygonFromText"))); //NOI18N
        res.put("st_wkbtosql", PostgisFunction.toList(new PostgisFunction("ST_WKBToSQL", "geometry", Arrays.asList(new PostgisFunctionParam("WKB", "bytea")), "ST_WKBToSQL"))); //NOI18N
        res.put("st_wkttosql", PostgisFunction.toList(new PostgisFunction("ST_WKTToSQL", "geometry", Arrays.asList(new PostgisFunctionParam("WKT", "text")), "ST_WKTToSQL"))); //NOI18N
        res.put("geometrytype", PostgisFunction.toList(new PostgisFunction("GeometryType", "text", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "GeometryType"))); //NOI18N
        res.put("st_boundary", PostgisFunction.toList(new PostgisFunction("ST_Boundary", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Boundary"))); //NOI18N
        res.put("st_coorddim", PostgisFunction.toList(new PostgisFunction("ST_CoordDim", "integer", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_CoordDim"))); //NOI18N
        res.put("st_dimension", PostgisFunction.toList(new PostgisFunction("ST_Dimension", "integer", Arrays.asList(new PostgisFunctionParam("g", "geometry")), "ST_Dimension"))); //NOI18N
        res.put("st_endpoint", PostgisFunction.toList(new PostgisFunction("ST_EndPoint", "boolean", Arrays.asList(new PostgisFunctionParam("g", "geometry")), "ST_EndPoint"))); //NOI18N
        res.put("st_envelope", PostgisFunction.toList(new PostgisFunction("ST_Envelope", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_Envelope"))); //NOI18N
        res.put("st_exteriorring", PostgisFunction.toList(new PostgisFunction("ST_ExteriorRing", "geometry", Arrays.asList(new PostgisFunctionParam("a_polygon", "geometry")), "ST_ExteriorRing"))); //NOI18N
        res.put("st_geometryn", PostgisFunction.toList(new PostgisFunction("ST_GeometryN", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("n", "integer")), "ST_GeometryN"))); //NOI18N
        res.put("st_geometrytype", PostgisFunction.toList(new PostgisFunction("ST_GeometryType", "text", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_GeometryType"))); //NOI18N
        res.put("st_interiorringn", PostgisFunction.toList(new PostgisFunction("ST_InteriorRingN", "geometry", Arrays.asList(new PostgisFunctionParam("a_polygon", "geometry"), new PostgisFunctionParam("n", "integer")), "ST_InteriorRingN"))); //NOI18N
        res.put("st_isclosed", PostgisFunction.toList(new PostgisFunction("ST_IsClosed", "boolean", Arrays.asList(new PostgisFunctionParam("g", "geometry")), "ST_IsClosed"))); //NOI18N
        res.put("st_iscollection", PostgisFunction.toList(new PostgisFunction("ST_IsCollection", "boolean", Arrays.asList(new PostgisFunctionParam("g", "geometry")), "ST_IsCollection"))); //NOI18N
        res.put("st_isempty", PostgisFunction.toList(new PostgisFunction("ST_IsEmpty", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_IsEmpty"))); //NOI18N
        res.put("st_isring", PostgisFunction.toList(new PostgisFunction("ST_IsRing", "boolean", Arrays.asList(new PostgisFunctionParam("g", "geometry")), "ST_IsRing"))); //NOI18N
        res.put("st_issimple", PostgisFunction.toList(new PostgisFunction("ST_IsSimple", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_IsSimple"))); //NOI18N
        res.put("st_isvalid", PostgisFunction.toList(new PostgisFunction("ST_IsValid", "boolean", Arrays.asList(new PostgisFunctionParam("g", "geometry"), new PostgisFunctionParam("g", "geometry"), new PostgisFunctionParam("flags", "integer")), "ST_IsValid"))); //NOI18N
        res.put("st_isvalidreason", PostgisFunction.toList(new PostgisFunction("ST_IsValidReason", "text", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("flags", "integer")), "ST_IsValidReason"))); //NOI18N
        res.put("st_isvaliddetail", PostgisFunction.toList(new PostgisFunction("ST_IsValidDetail", "valid_detail", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("flags", "integer")), "ST_IsValidDetail"))); //NOI18N
        res.put("st_m", PostgisFunction.toList(new PostgisFunction("ST_M", "float", Arrays.asList(new PostgisFunctionParam("a_point", "geometry")), "ST_M"))); //NOI18N
        res.put("st_ndims", PostgisFunction.toList(new PostgisFunction("ST_NDims", "integer", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_NDims"))); //NOI18N
        res.put("st_npoints", PostgisFunction.toList(new PostgisFunction("ST_NPoints", "integer", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_NPoints"))); //NOI18N
        res.put("st_nrings", PostgisFunction.toList(new PostgisFunction("ST_NRings", "integer", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_NRings"))); //NOI18N
        res.put("st_numgeometries", PostgisFunction.toList(new PostgisFunction("ST_NumGeometries", "integer", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_NumGeometries"))); //NOI18N
        res.put("st_numinteriorrings", PostgisFunction.toList(new PostgisFunction("ST_NumInteriorRings", "integer", Arrays.asList(new PostgisFunctionParam("a_polygon", "geometry")), "ST_NumInteriorRings"))); //NOI18N
        res.put("st_numinteriorring", PostgisFunction.toList(new PostgisFunction("ST_NumInteriorRing", "integer", Arrays.asList(new PostgisFunctionParam("a_polygon", "geometry")), "ST_NumInteriorRing"))); //NOI18N
        res.put("st_numpatches", PostgisFunction.toList(new PostgisFunction("ST_NumPatches", "integer", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_NumPatches"))); //NOI18N
        res.put("st_numpoints", PostgisFunction.toList(new PostgisFunction("ST_NumPoints", "integer", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_NumPoints"))); //NOI18N
        res.put("st_patchn", PostgisFunction.toList(new PostgisFunction("ST_PatchN", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("n", "integer")), "ST_PatchN"))); //NOI18N
        res.put("st_pointn", PostgisFunction.toList(new PostgisFunction("ST_PointN", "geometry", Arrays.asList(new PostgisFunctionParam("a_linestring", "geometry"), new PostgisFunctionParam("n", "integer")), "ST_PointN"))); //NOI18N
        res.put("st_srid", PostgisFunction.toList(new PostgisFunction("ST_SRID", "integer", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_SRID"))); //NOI18N
        res.put("st_startpoint", PostgisFunction.toList(new PostgisFunction("ST_StartPoint", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_StartPoint"))); //NOI18N
        res.put("st_summary", PostgisFunction.toList(new PostgisFunction("ST_Summary", "text", Arrays.asList(new PostgisFunctionParam("g", "geometry"), new PostgisFunctionParam("g", "geography")), "ST_Summary"))); //NOI18N
        res.put("st_x", PostgisFunction.toList(new PostgisFunction("ST_X", "float", Arrays.asList(new PostgisFunctionParam("a_point", "geometry")), "ST_X"))); //NOI18N
        res.put("st_xmax", PostgisFunction.toList(new PostgisFunction("ST_XMax", "float", Arrays.asList(new PostgisFunctionParam("aGeomorBox2DorBox3D", "box3d")), "ST_XMax"))); //NOI18N
        res.put("st_xmin", PostgisFunction.toList(new PostgisFunction("ST_XMin", "float", Arrays.asList(new PostgisFunctionParam("aGeomorBox2DorBox3D", "box3d")), "ST_XMin"))); //NOI18N
        res.put("st_y", PostgisFunction.toList(new PostgisFunction("ST_Y", "float", Arrays.asList(new PostgisFunctionParam("a_point", "geometry")), "ST_Y"))); //NOI18N
        res.put("st_ymax", PostgisFunction.toList(new PostgisFunction("ST_YMax", "float", Arrays.asList(new PostgisFunctionParam("aGeomorBox2DorBox3D", "box3d")), "ST_YMax"))); //NOI18N
        res.put("st_ymin", PostgisFunction.toList(new PostgisFunction("ST_YMin", "float", Arrays.asList(new PostgisFunctionParam("aGeomorBox2DorBox3D", "box3d")), "ST_YMin"))); //NOI18N
        res.put("st_z", PostgisFunction.toList(new PostgisFunction("ST_Z", "float", Arrays.asList(new PostgisFunctionParam("a_point", "geometry")), "ST_Z"))); //NOI18N
        res.put("st_zmax", PostgisFunction.toList(new PostgisFunction("ST_ZMax", "float", Arrays.asList(new PostgisFunctionParam("aGeomorBox2DorBox3D", "box3d")), "ST_ZMax"))); //NOI18N
        res.put("st_zmflag", PostgisFunction.toList(new PostgisFunction("ST_Zmflag", "smallint", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Zmflag"))); //NOI18N
        res.put("st_zmin", PostgisFunction.toList(new PostgisFunction("ST_ZMin", "float", Arrays.asList(new PostgisFunctionParam("aGeomorBox2DorBox3D", "box3d")), "ST_ZMin"))); //NOI18N
        res.put("st_addpoint", PostgisFunction.toList(new PostgisFunction("ST_AddPoint", "geometry", Arrays.asList(new PostgisFunctionParam("linestring", "geometry"), new PostgisFunctionParam("point", "geometry"), new PostgisFunctionParam("linestring", "geometry"), new PostgisFunctionParam("point", "geometry"), new PostgisFunctionParam("position", "integer")), "ST_AddPoint"))); //NOI18N
        res.put("st_affine", PostgisFunction.toList(new PostgisFunction("ST_Affine", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("a", "float"), new PostgisFunctionParam("b", "float"), new PostgisFunctionParam("c", "float"), new PostgisFunctionParam("d", "float"), new PostgisFunctionParam("e", "float"), new PostgisFunctionParam("f", "float"), new PostgisFunctionParam("g", "float"), new PostgisFunctionParam("h", "float"), new PostgisFunctionParam("i", "float"), new PostgisFunctionParam("xoff", "float"), new PostgisFunctionParam("yoff", "float"), new PostgisFunctionParam("zoff", "float"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("a", "float"), new PostgisFunctionParam("b", "float"), new PostgisFunctionParam("d", "float"), new PostgisFunctionParam("e", "float"), new PostgisFunctionParam("xoff", "float"), new PostgisFunctionParam("yoff", "float")), "ST_Affine"))); //NOI18N
        res.put("st_force2d", PostgisFunction.toList(new PostgisFunction("ST_Force2D", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Force_2D"))); //NOI18N
        res.put("st_force3d", PostgisFunction.toList(new PostgisFunction("ST_Force3D", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Force_3D"))); //NOI18N
        res.put("st_force3dz", PostgisFunction.toList(new PostgisFunction("ST_Force3DZ", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Force_3DZ"))); //NOI18N
        res.put("st_force3dm", PostgisFunction.toList(new PostgisFunction("ST_Force3DM", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Force_3DM"))); //NOI18N
        res.put("st_force4d", PostgisFunction.toList(new PostgisFunction("ST_Force4D", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Force_4D"))); //NOI18N
        res.put("st_forcecollection", PostgisFunction.toList(new PostgisFunction("ST_ForceCollection", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Force_Collection"))); //NOI18N
        res.put("st_forcesfs", PostgisFunction.toList(new PostgisFunction("ST_ForceSFS", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("version", "text")), "ST_ForceSFS"))); //NOI18N
        res.put("st_forcerhr", PostgisFunction.toList(new PostgisFunction("ST_ForceRHR", "boolean", Arrays.asList(new PostgisFunctionParam("g", "geometry")), "ST_ForceRHR"))); //NOI18N
        res.put("st_linemerge", PostgisFunction.toList(new PostgisFunction("ST_LineMerge", "geometry", Arrays.asList(new PostgisFunctionParam("amultilinestring", "geometry")), "ST_LineMerge"))); //NOI18N
        res.put("st_collectionextract", PostgisFunction.toList(new PostgisFunction("ST_CollectionExtract", "geometry", Arrays.asList(new PostgisFunctionParam("collection", "geometry"), new PostgisFunctionParam("type", "integer")), "ST_CollectionExtract"))); //NOI18N
        res.put("st_collectionhomogenize", PostgisFunction.toList(new PostgisFunction("ST_CollectionHomogenize", "geometry", Arrays.asList(new PostgisFunctionParam("collection", "geometry")), "ST_CollectionHomogenize"))); //NOI18N
        res.put("st_multi", PostgisFunction.toList(new PostgisFunction("ST_Multi", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_Multi"))); //NOI18N
        res.put("st_removepoint", PostgisFunction.toList(new PostgisFunction("ST_RemovePoint", "geometry", Arrays.asList(new PostgisFunctionParam("linestring", "geometry"), new PostgisFunctionParam("offset", "integer")), "ST_RemovePoint"))); //NOI18N
        res.put("st_reverse", PostgisFunction.toList(new PostgisFunction("ST_Reverse", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_Reverse"))); //NOI18N
        res.put("st_rotate", PostgisFunction.toList(new PostgisFunction("ST_Rotate", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("rotRadians", "float"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("rotRadians", "float"), new PostgisFunctionParam("x0", "float"), new PostgisFunctionParam("y0", "float"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("rotRadians", "float"), new PostgisFunctionParam("pointOrigin", "geometry")), "ST_Rotate"))); //NOI18N
        res.put("st_rotatex", PostgisFunction.toList(new PostgisFunction("ST_RotateX", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("rotRadians", "float")), "ST_RotateX"))); //NOI18N
        res.put("st_rotatey", PostgisFunction.toList(new PostgisFunction("ST_RotateY", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("rotRadians", "float")), "ST_RotateY"))); //NOI18N
        res.put("st_rotatez", PostgisFunction.toList(new PostgisFunction("ST_RotateZ", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("rotRadians", "float")), "ST_RotateZ"))); //NOI18N
        res.put("st_scale", PostgisFunction.toList(new PostgisFunction("ST_Scale", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("XFactor", "float"), new PostgisFunctionParam("YFactor", "float"), new PostgisFunctionParam("ZFactor", "float"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("XFactor", "float"), new PostgisFunctionParam("YFactor", "float")), "ST_Scale"))); //NOI18N
        res.put("st_segmentize", PostgisFunction.toList(new PostgisFunction("ST_Segmentize", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("max_segment_length", "float"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("max_segment_length", "float")), "ST_Segmentize"))); //NOI18N
        res.put("st_setpoint", PostgisFunction.toList(new PostgisFunction("ST_SetPoint", "geometry", Arrays.asList(new PostgisFunctionParam("linestring", "geometry"), new PostgisFunctionParam("zerobasedposition", "integer"), new PostgisFunctionParam("point", "geometry")), "ST_SetPoint"))); //NOI18N
        res.put("st_setsrid", PostgisFunction.toList(new PostgisFunction("ST_SetSRID", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("srid", "integer")), "ST_SetSRID"))); //NOI18N
        res.put("st_snaptogrid", PostgisFunction.toList(new PostgisFunction("ST_SnapToGrid", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("originX", "float"), new PostgisFunctionParam("originY", "float"), new PostgisFunctionParam("sizeX", "float"), new PostgisFunctionParam("sizeY", "float"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("sizeX", "float"), new PostgisFunctionParam("sizeY", "float"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("size", "float"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("pointOrigin", "geometry"), new PostgisFunctionParam("sizeX", "float"), new PostgisFunctionParam("sizeY", "float"), new PostgisFunctionParam("sizeZ", "float"), new PostgisFunctionParam("sizeM", "float")), "ST_SnapToGrid"))); //NOI18N
        res.put("st_snap", PostgisFunction.toList(new PostgisFunction("ST_Snap", "geometry", Arrays.asList(new PostgisFunctionParam("input", "geometry"), new PostgisFunctionParam("reference", "geometry"), new PostgisFunctionParam("tolerance", "float")), "ST_Snap"))); //NOI18N
        res.put("st_transform", PostgisFunction.toList(new PostgisFunction("ST_Transform", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("srid", "integer")), "ST_Transform"))); //NOI18N
        res.put("st_translate", PostgisFunction.toList(new PostgisFunction("ST_Translate", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("deltax", "float"), new PostgisFunctionParam("deltay", "float"), new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("deltax", "float"), new PostgisFunctionParam("deltay", "float"), new PostgisFunctionParam("deltaz", "float")), "ST_Translate"))); //NOI18N
        res.put("st_transscale", PostgisFunction.toList(new PostgisFunction("ST_TransScale", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("deltaX", "float"), new PostgisFunctionParam("deltaY", "float"), new PostgisFunctionParam("XFactor", "float"), new PostgisFunctionParam("YFactor", "float")), "ST_TransScale"))); //NOI18N
        res.put("st_asbinary", PostgisFunction.toList(new PostgisFunction("ST_AsBinary", "bytea", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("NDR_or_XDR", "text"), new PostgisFunctionParam("g1", "geography"), new PostgisFunctionParam("g1", "geography"), new PostgisFunctionParam("NDR_or_XDR", "text")), "ST_AsBinary"))); //NOI18N
        res.put("st_asewkb", PostgisFunction.toList(new PostgisFunction("ST_AsEWKB", "bytea", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("NDR_or_XDR", "text")), "ST_AsEWKB"))); //NOI18N
        res.put("st_asewkt", PostgisFunction.toList(new PostgisFunction("ST_AsEWKT", "text", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g1", "geography")), "ST_AsEWKT"))); //NOI18N
        res.put("st_asgeojson", PostgisFunction.toList(new PostgisFunction("ST_AsGeoJSON", "text", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer"), new PostgisFunctionParam("gj_version", "integer"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer"), new PostgisFunctionParam("gj_version", "integer"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer")), "ST_AsGeoJSON"))); //NOI18N
        res.put("st_asgml", PostgisFunction.toList(new PostgisFunction("ST_AsGML", "text", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer"), new PostgisFunctionParam("version", "integer"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer"), new PostgisFunctionParam("nprefix=null", "text"), new PostgisFunctionParam("id=null", "text"), new PostgisFunctionParam("version", "integer"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer"), new PostgisFunctionParam("nprefix=null", "text"), new PostgisFunctionParam("id=null", "text")), "ST_AsGML"))); //NOI18N
        res.put("st_ashexewkb", PostgisFunction.toList(new PostgisFunction("ST_AsHEXEWKB", "text", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("NDRorXDR", "text"), new PostgisFunctionParam("g1", "geometry")), "ST_AsHEXEWKB"))); //NOI18N
        res.put("st_askml", PostgisFunction.toList(new PostgisFunction("ST_AsKML", "text", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("version", "integer"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("nprefix=NULL", "text"), new PostgisFunctionParam("version", "integer"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("nprefix=NULL", "text")), "ST_AsKML"))); //NOI18N
        res.put("st_assvg", PostgisFunction.toList(new PostgisFunction("ST_AsSVG", "text", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("rel=0", "integer"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("rel=0", "integer"), new PostgisFunctionParam("maxdecimaldigits=15", "integer")), "ST_AsSVG"))); //NOI18N
        res.put("st_asx3d", PostgisFunction.toList(new PostgisFunction("ST_AsX3D", "text", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("maxdecimaldigits=15", "integer"), new PostgisFunctionParam("options=0", "integer")), "ST_AsX3D"))); //NOI18N
        res.put("st_geohash", PostgisFunction.toList(new PostgisFunction("ST_GeoHash", "text", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("maxchars=full_precision_of_point", "integer")), "ST_GeoHash"))); //NOI18N
        res.put("st_astext", PostgisFunction.toList(new PostgisFunction("ST_AsText", "text", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g1", "geography")), "ST_AsText"))); //NOI18N
        res.put("st_aslatlontext", PostgisFunction.toList(new PostgisFunction("ST_AsLatLonText", "text", Arrays.asList(new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("format", "text")), "ST_AsLatLonText"))); //NOI18N
        res.put("&amp;&amp;", PostgisFunction.toList(new PostgisFunction("&amp;&amp;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry"), new PostgisFunctionParam("A", "geography"), new PostgisFunctionParam("B", "geography")), "geometry_overlaps"))); //NOI18N
        res.put("&amp;&amp;&amp;", PostgisFunction.toList(new PostgisFunction("&amp;&amp;&amp;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "geometry_overlaps_nd"))); //NOI18N
        res.put("&amp;&lt;", PostgisFunction.toList(new PostgisFunction("&amp;&lt;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Overleft"))); //NOI18N
        res.put("&amp;&lt;|", PostgisFunction.toList(new PostgisFunction("&amp;&lt;|", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Overbelow"))); //NOI18N
        res.put("&amp;&gt;", PostgisFunction.toList(new PostgisFunction("&amp;&gt;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Overright"))); //NOI18N
        res.put("&lt;&lt;", PostgisFunction.toList(new PostgisFunction("&lt;&lt;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Left"))); //NOI18N
        res.put("&lt;&lt;|", PostgisFunction.toList(new PostgisFunction("&lt;&lt;|", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Below"))); //NOI18N
        res.put("&#61;", PostgisFunction.toList(new PostgisFunction("&#61;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry"), new PostgisFunctionParam("A", "geography"), new PostgisFunctionParam("B", "geography")), "ST_Geometry_EQ"))); //NOI18N
        res.put("&gt;&gt;", PostgisFunction.toList(new PostgisFunction("&gt;&gt;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Right"))); //NOI18N
        res.put("@", PostgisFunction.toList(new PostgisFunction("@", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Contained"))); //NOI18N
        res.put("|&amp;&gt;", PostgisFunction.toList(new PostgisFunction("|&amp;&gt;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Overabove"))); //NOI18N
        res.put("|&gt;&gt;", PostgisFunction.toList(new PostgisFunction("|&gt;&gt;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Above"))); //NOI18N
        res.put("~", PostgisFunction.toList(new PostgisFunction("~", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Contain"))); //NOI18N
        res.put("~=", PostgisFunction.toList(new PostgisFunction("~=", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Geometry_Same"))); //NOI18N
        res.put("&lt;-&gt;", PostgisFunction.toList(new PostgisFunction("&lt;-&gt;", "double precision", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "geometry_distance_centroid"))); //NOI18N
        res.put("&lt;#&gt;", PostgisFunction.toList(new PostgisFunction("&lt;#&gt;", "double precision", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "geometry_distance_box"))); //NOI18N
        res.put("st_3dclosestpoint", PostgisFunction.toList(new PostgisFunction("ST_3DClosestPoint", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_3DClosestPoint"))); //NOI18N
        res.put("st_3ddistance", PostgisFunction.toList(new PostgisFunction("ST_3DDistance", "float", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_3DDistance"))); //NOI18N
        res.put("st_3ddwithin", PostgisFunction.toList(new PostgisFunction("ST_3DDWithin", "boolean", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("distance_of_srid", "double precision")), "ST_3DDWithin"))); //NOI18N
        res.put("st_3ddfullywithin", PostgisFunction.toList(new PostgisFunction("ST_3DDFullyWithin", "boolean", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("distance", "double precision")), "ST_3DDFullyWithin"))); //NOI18N
        res.put("st_3dintersects", PostgisFunction.toList(new PostgisFunction("ST_3DIntersects", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry")), "ST_3DIntersects"))); //NOI18N
        res.put("st_3dlongestline", PostgisFunction.toList(new PostgisFunction("ST_3DLongestLine", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_3DLongestLine"))); //NOI18N
        res.put("st_3dmaxdistance", PostgisFunction.toList(new PostgisFunction("ST_3DMaxDistance", "float", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_3DMaxDistance"))); //NOI18N
        res.put("st_3dshortestline", PostgisFunction.toList(new PostgisFunction("ST_3DShortestLine", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_3DShortestLine"))); //NOI18N
        res.put("st_area", PostgisFunction.toList(new PostgisFunction("ST_Area", "float", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("use_spheroid=true", "boolean")), "ST_Area"))); //NOI18N
        res.put("st_azimuth", PostgisFunction.toList(new PostgisFunction("ST_Azimuth", "float", Arrays.asList(new PostgisFunctionParam("pointA", "geometry"), new PostgisFunctionParam("pointB", "geometry"), new PostgisFunctionParam("pointA", "geography"), new PostgisFunctionParam("pointB", "geography")), "ST_Azimuth"))); //NOI18N
        res.put("st_centroid", PostgisFunction.toList(new PostgisFunction("ST_Centroid", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_Centroid"))); //NOI18N
        res.put("st_closestpoint", PostgisFunction.toList(new PostgisFunction("ST_ClosestPoint", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_ClosestPoint"))); //NOI18N
        res.put("st_contains", PostgisFunction.toList(new PostgisFunction("ST_Contains", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry")), "ST_Contains"))); //NOI18N
        res.put("st_containsproperly", PostgisFunction.toList(new PostgisFunction("ST_ContainsProperly", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry")), "ST_ContainsProperly"))); //NOI18N
        res.put("st_covers", PostgisFunction.toList(new PostgisFunction("ST_Covers", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry"), new PostgisFunctionParam("geogpolyA", "geography"), new PostgisFunctionParam("geogpointB", "geography")), "ST_Covers"))); //NOI18N
        res.put("st_coveredby", PostgisFunction.toList(new PostgisFunction("ST_CoveredBy", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry"), new PostgisFunctionParam("geogA", "geography"), new PostgisFunctionParam("geogB", "geography")), "ST_CoveredBy"))); //NOI18N
        res.put("st_crosses", PostgisFunction.toList(new PostgisFunction("ST_Crosses", "boolean", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_Crosses"))); //NOI18N
        res.put("st_linecrossingdirection", PostgisFunction.toList(new PostgisFunction("ST_LineCrossingDirection", "integer", Arrays.asList(new PostgisFunctionParam("linestringA", "geometry"), new PostgisFunctionParam("linestringB", "geometry")), "ST_LineCrossingDirection"))); //NOI18N
        res.put("st_disjoint", PostgisFunction.toList(new PostgisFunction("ST_Disjoint", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Disjoint"))); //NOI18N
        res.put("st_distance", PostgisFunction.toList(new PostgisFunction("ST_Distance", "float", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("gg1", "geography"), new PostgisFunctionParam("gg2", "geography"), new PostgisFunctionParam("gg1", "geography"), new PostgisFunctionParam("gg2", "geography"), new PostgisFunctionParam("use_spheroid", "boolean")), "ST_Distance"))); //NOI18N
        res.put("st_hausdorffdistance", PostgisFunction.toList(new PostgisFunction("ST_HausdorffDistance", "float", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("densifyFrac", "float")), "ST_HausdorffDistance"))); //NOI18N
        res.put("st_maxdistance", PostgisFunction.toList(new PostgisFunction("ST_MaxDistance", "float", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_MaxDistance"))); //NOI18N
        res.put("st_distance_sphere", PostgisFunction.toList(new PostgisFunction("ST_Distance_Sphere", "float", Arrays.asList(new PostgisFunctionParam("geomlonlatA", "geometry"), new PostgisFunctionParam("geomlonlatB", "geometry")), "ST_Distance_Sphere"))); //NOI18N
        res.put("st_distance_spheroid", PostgisFunction.toList(new PostgisFunction("ST_Distance_Spheroid", "float", Arrays.asList(new PostgisFunctionParam("geomlonlatA", "geometry"), new PostgisFunctionParam("geomlonlatB", "geometry"), new PostgisFunctionParam("measurement_spheroid", "spheroid")), "ST_Distance_Spheroid"))); //NOI18N
        res.put("st_dfullywithin", PostgisFunction.toList(new PostgisFunction("ST_DFullyWithin", "boolean", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("distance", "double precision")), "ST_DFullyWithin"))); //NOI18N
        res.put("st_dwithin", PostgisFunction.toList(new PostgisFunction("ST_DWithin", "boolean", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("distance_of_srid", "double precision"), new PostgisFunctionParam("gg1", "geography"), new PostgisFunctionParam("gg2", "geography"), new PostgisFunctionParam("distance_meters", "double precision"), new PostgisFunctionParam("gg1", "geography"), new PostgisFunctionParam("gg2", "geography"), new PostgisFunctionParam("distance_meters", "double precision"), new PostgisFunctionParam("use_spheroid", "boolean")), "ST_DWithin"))); //NOI18N
        res.put("st_equals", PostgisFunction.toList(new PostgisFunction("ST_Equals", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Equals"))); //NOI18N
        res.put("st_hasarc", PostgisFunction.toList(new PostgisFunction("ST_HasArc", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_HasArc"))); //NOI18N
        res.put("st_intersects", PostgisFunction.toList(new PostgisFunction("ST_Intersects", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry"), new PostgisFunctionParam("geogA", "geography"), new PostgisFunctionParam("geogB", "geography")), "ST_Intersects"))); //NOI18N
        res.put("st_length", PostgisFunction.toList(new PostgisFunction("ST_Length", "float", Arrays.asList(new PostgisFunctionParam("a_2dlinestring", "geometry"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("use_spheroid=true", "boolean")), "ST_Length"))); //NOI18N
        res.put("st_length2d", PostgisFunction.toList(new PostgisFunction("ST_Length2D", "float", Arrays.asList(new PostgisFunctionParam("a_2dlinestring", "geometry")), "ST_Length2D"))); //NOI18N
        res.put("st_3dlength", PostgisFunction.toList(new PostgisFunction("ST_3DLength", "float", Arrays.asList(new PostgisFunctionParam("a_3dlinestring", "geometry")), "ST_3DLength"))); //NOI18N
        res.put("st_length_spheroid", PostgisFunction.toList(new PostgisFunction("ST_Length_Spheroid", "float", Arrays.asList(new PostgisFunctionParam("a_linestring", "geometry"), new PostgisFunctionParam("a_spheroid", "spheroid")), "ST_Length_Spheroid"))); //NOI18N
        res.put("st_length2d_spheroid", PostgisFunction.toList(new PostgisFunction("ST_Length2D_Spheroid", "float", Arrays.asList(new PostgisFunctionParam("a_linestring", "geometry"), new PostgisFunctionParam("a_spheroid", "spheroid")), "ST_Length2D_Spheroid"))); //NOI18N
        res.put("st_3dlength_spheroid", PostgisFunction.toList(new PostgisFunction("ST_3DLength_Spheroid", "float", Arrays.asList(new PostgisFunctionParam("a_linestring", "geometry"), new PostgisFunctionParam("a_spheroid", "spheroid")), "ST_3DLength_Spheroid"))); //NOI18N
        res.put("st_longestline", PostgisFunction.toList(new PostgisFunction("ST_LongestLine", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_LongestLine"))); //NOI18N
        res.put("st_orderingequals", PostgisFunction.toList(new PostgisFunction("ST_OrderingEquals", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_OrderingEquals"))); //NOI18N
        res.put("st_overlaps", PostgisFunction.toList(new PostgisFunction("ST_Overlaps", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Overlaps"))); //NOI18N
        res.put("st_perimeter", PostgisFunction.toList(new PostgisFunction("ST_Perimeter", "float", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("geog", "geography"), new PostgisFunctionParam("use_spheroid=true", "boolean")), "ST_Perimeter"))); //NOI18N
        res.put("st_perimeter2d", PostgisFunction.toList(new PostgisFunction("ST_Perimeter2D", "float", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Perimeter2D"))); //NOI18N
        res.put("st_3dperimeter", PostgisFunction.toList(new PostgisFunction("ST_3DPerimeter", "float", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_3DPerimeter"))); //NOI18N
        res.put("st_pointonsurface", PostgisFunction.toList(new PostgisFunction("ST_PointOnSurface", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_PointOnSurface"))); //NOI18N
        res.put("st_project", PostgisFunction.toList(new PostgisFunction("ST_Project", "geography", Arrays.asList(new PostgisFunctionParam("g1", "geography"), new PostgisFunctionParam("distance", "float"), new PostgisFunctionParam("azimuth", "float")), "ST_Project"))); //NOI18N
        res.put("st_relate", PostgisFunction.toList(new PostgisFunction("ST_Relate", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry"), new PostgisFunctionParam("intersectionMatrixPattern", "text"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry"), new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry"), new PostgisFunctionParam("BoundaryNodeRule", "int")), "ST_Relate"))); //NOI18N
        res.put("st_relatematch", PostgisFunction.toList(new PostgisFunction("ST_RelateMatch", "boolean", Arrays.asList(new PostgisFunctionParam("intersectionMatrix", "text"), new PostgisFunctionParam("intersectionMatrixPattern", "text")), "ST_RelateMatch"))); //NOI18N
        res.put("st_shortestline", PostgisFunction.toList(new PostgisFunction("ST_ShortestLine", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_ShortestLine"))); //NOI18N
        res.put("st_touches", PostgisFunction.toList(new PostgisFunction("ST_Touches", "boolean", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry")), "ST_Touches"))); //NOI18N
        res.put("st_within", PostgisFunction.toList(new PostgisFunction("ST_Within", "boolean", Arrays.asList(new PostgisFunctionParam("A", "geometry"), new PostgisFunctionParam("B", "geometry")), "ST_Within"))); //NOI18N
        res.put("st_extrude", PostgisFunction.toList(new PostgisFunction("ST_Extrude", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("x", "float"), new PostgisFunctionParam("y", "float"), new PostgisFunctionParam("z", "float")), "ST_Extrude"))); //NOI18N
        res.put("st_straightskeleton", PostgisFunction.toList(new PostgisFunction("ST_StraightSkeleton", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_StraightSkeleton"))); //NOI18N
        res.put("st_isplanar", PostgisFunction.toList(new PostgisFunction("ST_IsPlanar", "boolean", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_IsPlanar"))); //NOI18N
        res.put("st_orientation", PostgisFunction.toList(new PostgisFunction("ST_Orientation", "integer", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_Orientation"))); //NOI18N
        res.put("st_forcelhr", PostgisFunction.toList(new PostgisFunction("ST_ForceLHR", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_ForceLHR"))); //NOI18N
        res.put("st_minkowski", PostgisFunction.toList(new PostgisFunction("ST_Minkowski", "geometry", Arrays.asList(new PostgisFunctionParam("geom1", "geometry"), new PostgisFunctionParam("geom2", "geometry")), "ST_MinkowskiSum"))); //NOI18N
        res.put("st_tesselate", PostgisFunction.toList(new PostgisFunction("ST_Tesselate", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_Tesselate"))); //NOI18N
        res.put("st_buffer", PostgisFunction.toList(new PostgisFunction("ST_Buffer", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("radius_of_buffer", "float"), new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("radius_of_buffer", "float"), new PostgisFunctionParam("num_seg_quarter_circle", "integer"), new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("radius_of_buffer", "float"), new PostgisFunctionParam("buffer_style_parameters", "text"), new PostgisFunctionParam("g1", "geography"), new PostgisFunctionParam("radius_of_buffer_in_meters", "float")), "ST_Buffer"))); //NOI18N
        res.put("st_buildarea", PostgisFunction.toList(new PostgisFunction("ST_BuildArea", "geometry", Arrays.asList(new PostgisFunctionParam("A", "geometry")), "ST_BuildArea"))); //NOI18N
        res.put("st_collect", PostgisFunction.toList(new PostgisFunction("ST_Collect", "geometry", Arrays.asList(new PostgisFunctionParam("g1field", "geometry set"), new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("g1_array", "geometry[]")), "ST_Collect"))); //NOI18N
        res.put("st_concavehull", PostgisFunction.toList(new PostgisFunction("ST_ConcaveHull", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("target_percent", "float"), new PostgisFunctionParam("allow_holes=false", "boolean")), "ST_ConcaveHull"))); //NOI18N
        res.put("st_convexhull", PostgisFunction.toList(new PostgisFunction("ST_ConvexHull", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_ConvexHull"))); //NOI18N
        res.put("st_curvetoline", PostgisFunction.toList(new PostgisFunction("ST_CurveToLine", "geometry", Arrays.asList(new PostgisFunctionParam("curveGeom", "geometry"), new PostgisFunctionParam("curveGeom", "geometry"), new PostgisFunctionParam("segments_per_qtr_circle", "integer")), "ST_CurveToLine"))); //NOI18N
        res.put("st_delaunaytriangles", PostgisFunction.toList(new PostgisFunction("ST_DelaunayTriangles", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("tolerance", "float"), new PostgisFunctionParam("flags", "int4")), "ST_DelaunayTriangles"))); //NOI18N
        res.put("st_difference", PostgisFunction.toList(new PostgisFunction("ST_Difference", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry")), "ST_Difference"))); //NOI18N
        res.put("st_dump", PostgisFunction.toList(new PostgisFunction("ST_Dump", "geometry_dump[]", Arrays.asList(new PostgisFunctionParam("g1", "geometry")), "ST_Dump"))); //NOI18N
        res.put("st_dumppoints", PostgisFunction.toList(new PostgisFunction("ST_DumpPoints", "geometry_dump[]", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_DumpPoints"))); //NOI18N
        res.put("st_dumprings", PostgisFunction.toList(new PostgisFunction("ST_DumpRings", "geometry_dump[]", Arrays.asList(new PostgisFunctionParam("a_polygon", "geometry")), "ST_DumpRings"))); //NOI18N
        res.put("st_flipcoordinates", PostgisFunction.toList(new PostgisFunction("ST_FlipCoordinates", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_FlipCoordinates"))); //NOI18N
        res.put("st_intersection", PostgisFunction.toList(new PostgisFunction("ST_Intersection", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry"), new PostgisFunctionParam("geogA", "geography"), new PostgisFunctionParam("geogB", "geography")), "ST_Intersection"))); //NOI18N
        res.put("st_linetocurve", PostgisFunction.toList(new PostgisFunction("ST_LineToCurve", "geometry", Arrays.asList(new PostgisFunctionParam("geomANoncircular", "geometry")), "ST_LineToCurve"))); //NOI18N
        res.put("st_makevalid", PostgisFunction.toList(new PostgisFunction("ST_MakeValid", "geometry", Arrays.asList(new PostgisFunctionParam("input", "geometry")), "ST_MakeValid"))); //NOI18N
        res.put("st_memunion", PostgisFunction.toList(new PostgisFunction("ST_MemUnion", "geometry", Arrays.asList(new PostgisFunctionParam("geomfield", "geometry set")), "ST_MemUnion"))); //NOI18N
        res.put("st_minimumboundingcircle", PostgisFunction.toList(new PostgisFunction("ST_MinimumBoundingCircle", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("num_segs_per_qt_circ=48", "integer")), "ST_MinimumBoundingCircle"))); //NOI18N
        res.put("st_polygonize", PostgisFunction.toList(new PostgisFunction("ST_Polygonize", "geometry", Arrays.asList(new PostgisFunctionParam("geomfield", "geometry set"), new PostgisFunctionParam("geom_array", "geometry[]")), "ST_Polygonize"))); //NOI18N
        res.put("st_node", PostgisFunction.toList(new PostgisFunction("ST_Node", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_Node"))); //NOI18N
        res.put("st_offsetcurve", PostgisFunction.toList(new PostgisFunction("ST_OffsetCurve", "geometry", Arrays.asList(new PostgisFunctionParam("line", "geometry"), new PostgisFunctionParam("signed_distance", "float"), new PostgisFunctionParam("style_parameters=''", "text")), "ST_OffsetCurve"))); //NOI18N
        res.put("st_removerepeatedpoints", PostgisFunction.toList(new PostgisFunction("ST_RemoveRepeatedPoints", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_RemoveRepeatedPoints"))); //NOI18N
        res.put("st_sharedpaths", PostgisFunction.toList(new PostgisFunction("ST_SharedPaths", "geometry", Arrays.asList(new PostgisFunctionParam("lineal1", "geometry"), new PostgisFunctionParam("lineal2", "geometry")), "ST_SharedPaths"))); //NOI18N
        res.put("st_shift_longitude", PostgisFunction.toList(new PostgisFunction("ST_Shift_Longitude", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Shift_Longitude"))); //NOI18N
        res.put("st_simplify", PostgisFunction.toList(new PostgisFunction("ST_Simplify", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("tolerance", "float")), "ST_Simplify"))); //NOI18N
        res.put("st_simplifypreservetopology", PostgisFunction.toList(new PostgisFunction("ST_SimplifyPreserveTopology", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("tolerance", "float")), "ST_SimplifyPreserveTopology"))); //NOI18N
        res.put("st_split", PostgisFunction.toList(new PostgisFunction("ST_Split", "geometry", Arrays.asList(new PostgisFunctionParam("input", "geometry"), new PostgisFunctionParam("blade", "geometry")), "ST_Split"))); //NOI18N
        res.put("st_symdifference", PostgisFunction.toList(new PostgisFunction("ST_SymDifference", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("geomB", "geometry")), "ST_SymDifference"))); //NOI18N
        res.put("st_union", PostgisFunction.toList(new PostgisFunction("ST_Union", "geometry", Arrays.asList(new PostgisFunctionParam("g1field", "geometry set"), new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("g2", "geometry"), new PostgisFunctionParam("g1_array", "geometry[]")), "ST_Union"))); //NOI18N
        res.put("st_unaryunion", PostgisFunction.toList(new PostgisFunction("ST_UnaryUnion", "geometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry")), "ST_UnaryUnion"))); //NOI18N
        res.put("st_lineinterpolatepoint", PostgisFunction.toList(new PostgisFunction("ST_LineInterpolatePoint", "geometry", Arrays.asList(new PostgisFunctionParam("a_linestring", "geometry"), new PostgisFunctionParam("a_fraction", "float")), "ST_Line_Interpolate_Point"))); //NOI18N
        res.put("st_linelocatepoint", PostgisFunction.toList(new PostgisFunction("ST_LineLocatePoint", "float", Arrays.asList(new PostgisFunctionParam("a_linestring", "geometry"), new PostgisFunctionParam("a_point", "geometry")), "ST_Line_Locate_Point"))); //NOI18N
        res.put("st_linesubstring", PostgisFunction.toList(new PostgisFunction("ST_LineSubstring", "geometry", Arrays.asList(new PostgisFunctionParam("a_linestring", "geometry"), new PostgisFunctionParam("startfraction", "float"), new PostgisFunctionParam("endfraction", "float")), "ST_Line_Substring"))); //NOI18N
        res.put("st_locatealong", PostgisFunction.toList(new PostgisFunction("ST_LocateAlong", "geometry", Arrays.asList(new PostgisFunctionParam("ageom_with_measure", "geometry"), new PostgisFunctionParam("a_measure", "float"), new PostgisFunctionParam("offset", "float")), "ST_LocateAlong"))); //NOI18N
        res.put("st_locatebetween", PostgisFunction.toList(new PostgisFunction("ST_LocateBetween", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry"), new PostgisFunctionParam("measure_start", "float"), new PostgisFunctionParam("measure_end", "float"), new PostgisFunctionParam("offset", "float")), "ST_LocateBetween"))); //NOI18N
        res.put("st_locatebetweenelevations", PostgisFunction.toList(new PostgisFunction("ST_LocateBetweenElevations", "geometry", Arrays.asList(new PostgisFunctionParam("geom_mline", "geometry"), new PostgisFunctionParam("elevation_start", "float"), new PostgisFunctionParam("elevation_end", "float")), "ST_LocateBetweenElevations"))); //NOI18N
        res.put("st_interpolatepoint", PostgisFunction.toList(new PostgisFunction("ST_InterpolatePoint", "float", Arrays.asList(new PostgisFunctionParam("line", "geometry"), new PostgisFunctionParam("point", "geometry")), "ST_InterpolatePoint"))); //NOI18N
        res.put("st_addmeasure", PostgisFunction.toList(new PostgisFunction("ST_AddMeasure", "geometry", Arrays.asList(new PostgisFunctionParam("geom_mline", "geometry"), new PostgisFunctionParam("measure_start", "float"), new PostgisFunctionParam("measure_end", "float")), "ST_AddMeasure"))); //NOI18N
        res.put("addauth", PostgisFunction.toList(new PostgisFunction("AddAuth", "boolean", Arrays.asList(new PostgisFunctionParam("auth_token", "text")), "AddAuth"))); //NOI18N
        res.put("checkauth", PostgisFunction.toList(new PostgisFunction("CheckAuth", "integer", Arrays.asList(new PostgisFunctionParam("a_schema_name", "text"), new PostgisFunctionParam("a_table_name", "text"), new PostgisFunctionParam("a_key_column_name", "text"), new PostgisFunctionParam("a_table_name", "text"), new PostgisFunctionParam("a_key_column_name", "text")), "CheckAuth"))); //NOI18N
        res.put("disablelongtransactions", PostgisFunction.toList(new PostgisFunction("DisableLongTransactions", "text", null, "DisableLongTransactions"))); //NOI18N
        res.put("enablelongtransactions", PostgisFunction.toList(new PostgisFunction("EnableLongTransactions", "text", null, "EnableLongTransactions"))); //NOI18N
        res.put("lockrow", PostgisFunction.toList(new PostgisFunction("LockRow", "integer", Arrays.asList(new PostgisFunctionParam("a_schema_name", "text"), new PostgisFunctionParam("a_table_name", "text"), new PostgisFunctionParam("a_row_key", "text"), new PostgisFunctionParam("an_auth_token", "text"), new PostgisFunctionParam("expire_dt", "timestamp"), new PostgisFunctionParam("a_table_name", "text"), new PostgisFunctionParam("a_row_key", "text"), new PostgisFunctionParam("an_auth_token", "text"), new PostgisFunctionParam("expire_dt", "timestamp"), new PostgisFunctionParam("a_table_name", "text"), new PostgisFunctionParam("a_row_key", "text"), new PostgisFunctionParam("an_auth_token", "text")), "LockRow"))); //NOI18N
        res.put("unlockrows", PostgisFunction.toList(new PostgisFunction("UnlockRows", "integer", Arrays.asList(new PostgisFunctionParam("auth_token", "text")), "UnlockRows"))); //NOI18N
        res.put("st_accum", PostgisFunction.toList(new PostgisFunction("ST_Accum", "geometry[]", Arrays.asList(new PostgisFunctionParam("geomfield", "geometry set")), "ST_Accum"))); //NOI18N
        res.put("box2d", PostgisFunction.toList(new PostgisFunction("Box2D", "box2d", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "Box2D"))); //NOI18N
        res.put("box3d", PostgisFunction.toList(new PostgisFunction("Box3D", "box3d", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "Box3D"))); //NOI18N
        res.put("st_estimatedextent", PostgisFunction.toList(new PostgisFunction("ST_EstimatedExtent", "box2d", Arrays.asList(new PostgisFunctionParam("schema_name", "text"), new PostgisFunctionParam("table_name", "text"), new PostgisFunctionParam("geocolumn_name", "text"), new PostgisFunctionParam("table_name", "text"), new PostgisFunctionParam("geocolumn_name", "text")), "ST_Estimated_Extent"))); //NOI18N
        res.put("st_expand", PostgisFunction.toList(new PostgisFunction("ST_Expand", "geometry", Arrays.asList(new PostgisFunctionParam("g1", "geometry"), new PostgisFunctionParam("units_to_expand", "float"), new PostgisFunctionParam("g1", "box2d"), new PostgisFunctionParam("units_to_expand", "float"), new PostgisFunctionParam("g1", "box3d"), new PostgisFunctionParam("units_to_expand", "float")), "ST_Expand"))); //NOI18N
        res.put("st_extent", PostgisFunction.toList(new PostgisFunction("ST_Extent", "box2d", Arrays.asList(new PostgisFunctionParam("geomfield", "geometry set")), "ST_Extent"))); //NOI18N
        res.put("st_3dextent", PostgisFunction.toList(new PostgisFunction("ST_3DExtent", "box3d", Arrays.asList(new PostgisFunctionParam("geomfield", "geometry set")), "ST_3DExtent"))); //NOI18N
        res.put("find_srid", PostgisFunction.toList(new PostgisFunction("Find_SRID", "integer", Arrays.asList(new PostgisFunctionParam("a_schema_name", "varchar"), new PostgisFunctionParam("a_table_name", "varchar"), new PostgisFunctionParam("a_geomfield_name", "varchar")), "Find_SRID"))); //NOI18N
        res.put("st_mem_size", PostgisFunction.toList(new PostgisFunction("ST_Mem_Size", "integer", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "ST_Mem_Size"))); //NOI18N
        res.put("st_point_inside_circle", PostgisFunction.toList(new PostgisFunction("ST_Point_Inside_Circle", "boolean", Arrays.asList(new PostgisFunctionParam("a_point", "geometry"), new PostgisFunctionParam("center_x", "float"), new PostgisFunctionParam("center_y", "float"), new PostgisFunctionParam("radius", "float")), "ST_Point_Inside_Circle"))); //NOI18N
        res.put("postgis_addbbox", PostgisFunction.toList(new PostgisFunction("PostGIS_AddBBox", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "PostGIS_AddBBox"))); //NOI18N
        res.put("postgis_dropbbox", PostgisFunction.toList(new PostgisFunction("PostGIS_DropBBox", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "PostGIS_DropBBox"))); //NOI18N
        res.put("postgis_hasbbox", PostgisFunction.toList(new PostgisFunction("PostGIS_HasBBox", "boolean", Arrays.asList(new PostgisFunctionParam("geomA", "geometry")), "PostGIS_HasBBox"))); //NOI18N
        res.put("addrasterconstraints", PostgisFunction.toList(new PostgisFunction("AddRasterConstraints", "boolean", Arrays.asList(new PostgisFunctionParam("rasttable", "name"), new PostgisFunctionParam("rastcolumn", "name"), new PostgisFunctionParam("srid", "boolean"), new PostgisFunctionParam("scale_x", "boolean"), new PostgisFunctionParam("scale_y", "boolean"), new PostgisFunctionParam("blocksize_x", "boolean"), new PostgisFunctionParam("blocksize_y", "boolean"), new PostgisFunctionParam("same_alignment", "boolean"), new PostgisFunctionParam("regular_blocking", "boolean"), new PostgisFunctionParam("num_bands=true", "boolean"), new PostgisFunctionParam("pixel_types=true", "boolean"), new PostgisFunctionParam("nodata_values=true", "boolean"), new PostgisFunctionParam("out_db=true", "boolean"), new PostgisFunctionParam("extent=true", "boolean"), new PostgisFunctionParam("rasttable", "name"), new PostgisFunctionParam("rastcolumn", "name"), new PostgisFunctionParam("VARIADIC constraints", "text[]"), new PostgisFunctionParam("rastschema", "name"), new PostgisFunctionParam("rasttable", "name"), new PostgisFunctionParam("rastcolumn", "name"), new PostgisFunctionParam("VARIADIC constraints", "text[]"), new PostgisFunctionParam("rastschema", "name"), new PostgisFunctionParam("rasttable", "name"), new PostgisFunctionParam("rastcolumn", "name"), new PostgisFunctionParam("srid=true", "boolean"), new PostgisFunctionParam("scale_x=true", "boolean"), new PostgisFunctionParam("scale_y=true", "boolean"), new PostgisFunctionParam("blocksize_x=true", "boolean"), new PostgisFunctionParam("blocksize_y=true", "boolean"), new PostgisFunctionParam("same_alignment=true", "boolean"), new PostgisFunctionParam("regular_blocking=false", "boolean"), new PostgisFunctionParam("num_bands=true", "boolean"), new PostgisFunctionParam("pixel_types=true", "boolean"), new PostgisFunctionParam("nodata_values=true", "boolean"), new PostgisFunctionParam("out_db=true", "boolean"), new PostgisFunctionParam("extent=true", "boolean")), "geomval"))); //NOI18N
        res.put("droprasterconstraints", PostgisFunction.toList(new PostgisFunction("DropRasterConstraints", "boolean", Arrays.asList(new PostgisFunctionParam("rasttable", "name"), new PostgisFunctionParam("rastcolumn", "name"), new PostgisFunctionParam("srid", "boolean"), new PostgisFunctionParam("scale_x", "boolean"), new PostgisFunctionParam("scale_y", "boolean"), new PostgisFunctionParam("blocksize_x", "boolean"), new PostgisFunctionParam("blocksize_y", "boolean"), new PostgisFunctionParam("same_alignment", "boolean"), new PostgisFunctionParam("regular_blocking", "boolean"), new PostgisFunctionParam("num_bands=true", "boolean"), new PostgisFunctionParam("pixel_types=true", "boolean"), new PostgisFunctionParam("nodata_values=true", "boolean"), new PostgisFunctionParam("out_db=true", "boolean"), new PostgisFunctionParam("extent=true", "boolean"), new PostgisFunctionParam("rastschema", "name"), new PostgisFunctionParam("rasttable", "name"), new PostgisFunctionParam("rastcolumn", "name"), new PostgisFunctionParam("srid=true", "boolean"), new PostgisFunctionParam("scale_x=true", "boolean"), new PostgisFunctionParam("scale_y=true", "boolean"), new PostgisFunctionParam("blocksize_x=true", "boolean"), new PostgisFunctionParam("blocksize_y=true", "boolean"), new PostgisFunctionParam("same_alignment=true", "boolean"), new PostgisFunctionParam("regular_blocking=false", "boolean"), new PostgisFunctionParam("num_bands=true", "boolean"), new PostgisFunctionParam("pixel_types=true", "boolean"), new PostgisFunctionParam("nodata_values=true", "boolean"), new PostgisFunctionParam("out_db=true", "boolean"), new PostgisFunctionParam("extent=true", "boolean"), new PostgisFunctionParam("rastschema", "name"), new PostgisFunctionParam("rasttable", "name"), new PostgisFunctionParam("rastcolumn", "name"), new PostgisFunctionParam("constraints", "text[]")), "RT_DropRasterConstraints"))); //NOI18N
        res.put("postgis_raster_lib_build_date", PostgisFunction.toList(new PostgisFunction("PostGIS_Raster_Lib_Build_Date", "text", null, "RT_PostGIS_Raster_Lib_Build_Date"))); //NOI18N
        res.put("postgis_raster_lib_version", PostgisFunction.toList(new PostgisFunction("PostGIS_Raster_Lib_Version", "text", null, "RT_PostGIS_Raster_Lib_Version"))); //NOI18N
        res.put("st_gdaldrivers", PostgisFunction.toList(new PostgisFunction("ST_GDALDrivers", "setof record", Arrays.asList(new PostgisFunctionParam("OUT idx", "integer"), new PostgisFunctionParam("OUT short_name", "text"), new PostgisFunctionParam("OUT long_name", "text"), new PostgisFunctionParam("OUT create_options", "text")), "RT_ST_GDALDrivers"))); //NOI18N
        res.put("updaterastersrid", PostgisFunction.toList(new PostgisFunction("UpdateRasterSRID", "raster", Arrays.asList(new PostgisFunctionParam("schema_name", "name"), new PostgisFunctionParam("table_name", "name"), new PostgisFunctionParam("column_name", "name"), new PostgisFunctionParam("new_srid", "integer"), new PostgisFunctionParam("table_name", "name"), new PostgisFunctionParam("column_name", "name"), new PostgisFunctionParam("new_srid", "integer")), "RT_UpdateRasterSRID"))); //NOI18N
        res.put("st_addband", PostgisFunction.toList(new PostgisFunction("ST_AddBand", "(1) raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("addbandargset", "addbandarg[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("index", "integer"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("initialvalue=0", "double precision"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("initialvalue=0", "double precision"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("torast", "raster"), new PostgisFunctionParam("fromrast", "raster"), new PostgisFunctionParam("fromband=1", "integer"), new PostgisFunctionParam("torastindex=at_end", "integer"), new PostgisFunctionParam("torast", "raster"), new PostgisFunctionParam("fromrasts", "raster[]"), new PostgisFunctionParam("fromband=1", "integer"), new PostgisFunctionParam("torastindex=at_end", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("index", "integer"), new PostgisFunctionParam("outdbfile", "text"), new PostgisFunctionParam("outdbindex", "integer[]"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("outdbfile", "text"), new PostgisFunctionParam("outdbindex", "integer[]"), new PostgisFunctionParam("index=at_end", "integer"), new PostgisFunctionParam("nodataval=NULL", "double precision")), "RT_ST_AddBand"))); //NOI18N
        res.put("st_asraster", PostgisFunction.toList(new PostgisFunction("ST_AsRaster", "raster", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("ref", "raster"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("value=1", "double precision"), new PostgisFunctionParam("nodataval=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("ref", "raster"), new PostgisFunctionParam("pixeltype=ARRAY['8BUI']", "text[]"), new PostgisFunctionParam("value=ARRAY[1]", "double precision[]"), new PostgisFunctionParam("nodataval=ARRAY[0]", "double precision[]"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("gridx", "double precision"), new PostgisFunctionParam("gridy", "double precision"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("value=1", "double precision"), new PostgisFunctionParam("nodataval=0", "double precision"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("gridx=NULL", "double precision"), new PostgisFunctionParam("gridy=NULL", "double precision"), new PostgisFunctionParam("pixeltype=ARRAY['8BUI']", "text[]"), new PostgisFunctionParam("value=ARRAY[1]", "double precision[]"), new PostgisFunctionParam("nodataval=ARRAY[0]", "double precision[]"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("value=1", "double precision"), new PostgisFunctionParam("nodataval=0", "double precision"), new PostgisFunctionParam("upperleftx=NULL", "double precision"), new PostgisFunctionParam("upperlefty=NULL", "double precision"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("pixeltype", "text[]"), new PostgisFunctionParam("value=ARRAY[1]", "double precision[]"), new PostgisFunctionParam("nodataval=ARRAY[0]", "double precision[]"), new PostgisFunctionParam("upperleftx=NULL", "double precision"), new PostgisFunctionParam("upperlefty=NULL", "double precision"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("gridx", "double precision"), new PostgisFunctionParam("gridy", "double precision"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("value=1", "double precision"), new PostgisFunctionParam("nodataval=0", "double precision"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("gridx=NULL", "double precision"), new PostgisFunctionParam("gridy=NULL", "double precision"), new PostgisFunctionParam("pixeltype=ARRAY['8BUI']", "text[]"), new PostgisFunctionParam("value=ARRAY[1]", "double precision[]"), new PostgisFunctionParam("nodataval=ARRAY[0]", "double precision[]"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("value=1", "double precision"), new PostgisFunctionParam("nodataval=0", "double precision"), new PostgisFunctionParam("upperleftx=NULL", "double precision"), new PostgisFunctionParam("upperlefty=NULL", "double precision"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("pixeltype", "text[]"), new PostgisFunctionParam("value=ARRAY[1]", "double precision[]"), new PostgisFunctionParam("nodataval=ARRAY[0]", "double precision[]"), new PostgisFunctionParam("upperleftx=NULL", "double precision"), new PostgisFunctionParam("upperlefty=NULL", "double precision"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("touched=false", "boolean")), "RT_ST_AsRaster"))); //NOI18N
        res.put("st_band", PostgisFunction.toList(new PostgisFunction("ST_Band", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nbands = ARRAY[1]", "integer[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nbands", "text"), new PostgisFunctionParam("delimiter=,", "character"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer")), "RT_ST_Band"))); //NOI18N
        res.put("st_makeemptyraster", PostgisFunction.toList(new PostgisFunction("ST_MakeEmptyRaster", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("upperleftx", "float8"), new PostgisFunctionParam("upperlefty", "float8"), new PostgisFunctionParam("scalex", "float8"), new PostgisFunctionParam("scaley", "float8"), new PostgisFunctionParam("skewx", "float8"), new PostgisFunctionParam("skewy", "float8"), new PostgisFunctionParam("srid=unknown", "integer"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("upperleftx", "float8"), new PostgisFunctionParam("upperlefty", "float8"), new PostgisFunctionParam("pixelsize", "float8")), "RT_ST_MakeEmptyRaster"))); //NOI18N
        res.put("st_tile", PostgisFunction.toList(new PostgisFunction("ST_Tile", "setof raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "int[]"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("padwithnodata=FALSE", "boolean"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("padwithnodata=FALSE", "boolean"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("padwithnodata=FALSE", "boolean"), new PostgisFunctionParam("nodataval=NULL", "double precision")), "RT_ST_Tile"))); //NOI18N
        res.put("st_fromgdalraster", PostgisFunction.toList(new PostgisFunction("ST_FromGDALRaster", "raster", Arrays.asList(new PostgisFunctionParam("gdaldata", "bytea"), new PostgisFunctionParam("srid=NULL", "integer")), "RT_ST_FromGDALRaster"))); //NOI18N
        res.put("st_georeference", PostgisFunction.toList(new PostgisFunction("ST_GeoReference", "text", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("format=GDAL", "text")), "RT_ST_GeoReference"))); //NOI18N
        res.put("st_height", PostgisFunction.toList(new PostgisFunction("ST_Height", "integer", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_Height"))); //NOI18N
        res.put("st_isempty", PostgisFunction.toList(new PostgisFunction("ST_IsEmpty", "boolean", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_IsEmpty"))); //NOI18N
        res.put("st_metadata", PostgisFunction.toList(new PostgisFunction("ST_MetaData", "record", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_MetaData"))); //NOI18N
        res.put("st_numbands", PostgisFunction.toList(new PostgisFunction("ST_NumBands", "integer", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_NumBands"))); //NOI18N
        res.put("st_pixelheight", PostgisFunction.toList(new PostgisFunction("ST_PixelHeight", "double precision", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_PixelHeight"))); //NOI18N
        res.put("st_pixelwidth", PostgisFunction.toList(new PostgisFunction("ST_PixelWidth", "double precision", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_PixelWidth"))); //NOI18N
        res.put("st_scalex", PostgisFunction.toList(new PostgisFunction("ST_ScaleX", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_ScaleX"))); //NOI18N
        res.put("st_scaley", PostgisFunction.toList(new PostgisFunction("ST_ScaleY", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_ScaleY"))); //NOI18N
        res.put("st_rastertoworldcoord", PostgisFunction.toList(new PostgisFunction("ST_RasterToWorldCoord", "record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xcolumn", "integer"), new PostgisFunctionParam("yrow", "integer")), "RT_ST_RasterToWorldCoord"))); //NOI18N
        res.put("st_rastertoworldcoordx", PostgisFunction.toList(new PostgisFunction("ST_RasterToWorldCoordX", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xcolumn", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xcolumn", "integer"), new PostgisFunctionParam("yrow", "integer")), "RT_ST_RasterToWorldCoordX"))); //NOI18N
        res.put("st_rastertoworldcoordy", PostgisFunction.toList(new PostgisFunction("ST_RasterToWorldCoordY", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("yrow", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xcolumn", "integer"), new PostgisFunctionParam("yrow", "integer")), "RT_ST_RasterToWorldCoordY"))); //NOI18N
        res.put("st_rotation", PostgisFunction.toList(new PostgisFunction("ST_Rotation", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_Rotation"))); //NOI18N
        res.put("st_skewx", PostgisFunction.toList(new PostgisFunction("ST_SkewX", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_SkewX"))); //NOI18N
        res.put("st_skewy", PostgisFunction.toList(new PostgisFunction("ST_SkewY", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_SkewY"))); //NOI18N
        res.put("st_srid", PostgisFunction.toList(new PostgisFunction("ST_SRID", "integer", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_SRID"))); //NOI18N
        res.put("st_summary", PostgisFunction.toList(new PostgisFunction("ST_Summary", "text", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_Summary"))); //NOI18N
        res.put("st_upperleftx", PostgisFunction.toList(new PostgisFunction("ST_UpperLeftX", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_UpperLeftX"))); //NOI18N
        res.put("st_upperlefty", PostgisFunction.toList(new PostgisFunction("ST_UpperLeftY", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_UpperLeftY"))); //NOI18N
        res.put("st_width", PostgisFunction.toList(new PostgisFunction("ST_Width", "integer", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_Width"))); //NOI18N
        res.put("st_worldtorastercoord", PostgisFunction.toList(new PostgisFunction("ST_WorldToRasterCoord", "record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("longitude", "double precision"), new PostgisFunctionParam("latitude", "double precision")), "RT_ST_WorldToRasterCoord"))); //NOI18N
        res.put("st_worldtorastercoordx", PostgisFunction.toList(new PostgisFunction("ST_WorldToRasterCoordX", "integer", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xw", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xw", "double precision"), new PostgisFunctionParam("yw", "double precision")), "RT_ST_WorldToRasterCoordX"))); //NOI18N
        res.put("st_worldtorastercoordy", PostgisFunction.toList(new PostgisFunction("ST_WorldToRasterCoordY", "integer", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xw", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xw", "double precision"), new PostgisFunctionParam("yw", "double precision")), "RT_ST_WorldToRasterCoordY"))); //NOI18N
        res.put("st_bandmetadata", PostgisFunction.toList(new PostgisFunction("ST_BandMetaData", "record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum=1", "integer")), "RT_ST_BandMetaData"))); //NOI18N
        res.put("st_bandnodatavalue", PostgisFunction.toList(new PostgisFunction("ST_BandNoDataValue", "double precision", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum=1", "integer")), "RT_ST_BandNoDataValue"))); //NOI18N
        res.put("st_bandisnodata", PostgisFunction.toList(new PostgisFunction("ST_BandIsNoData", "boolean", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("forceChecking=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("forceChecking=true", "boolean")), "RT_ST_BandIsNoData"))); //NOI18N
        res.put("st_bandpath", PostgisFunction.toList(new PostgisFunction("ST_BandPath", "text", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum=1", "integer")), "RT_ST_BandPath"))); //NOI18N
        res.put("st_bandpixeltype", PostgisFunction.toList(new PostgisFunction("ST_BandPixelType", "text", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum=1", "integer")), "RT_ST_BandPixelType"))); //NOI18N
        res.put("st_hasnoband", PostgisFunction.toList(new PostgisFunction("ST_HasNoBand", "boolean", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum=1", "integer")), "RT_ST_HasNoBand"))); //NOI18N
        res.put("st_pixelaspolygon", PostgisFunction.toList(new PostgisFunction("ST_PixelAsPolygon", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer")), "RT_ST_PixelAsPolygon"))); //NOI18N
        res.put("st_pixelaspolygons", PostgisFunction.toList(new PostgisFunction("ST_PixelAsPolygons", "setof record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=TRUE", "boolean")), "RT_ST_PixelAsPolygons"))); //NOI18N
        res.put("st_pixelaspoint", PostgisFunction.toList(new PostgisFunction("ST_PixelAsPoint", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer")), "RT_ST_PixelAsPoint"))); //NOI18N
        res.put("st_pixelaspoints", PostgisFunction.toList(new PostgisFunction("ST_PixelAsPoints", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=TRUE", "boolean")), "RT_ST_PixelAsPoints"))); //NOI18N
        res.put("st_pixelascentroid", PostgisFunction.toList(new PostgisFunction("ST_PixelAsCentroid", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer")), "RT_ST_PixelAsCentroid"))); //NOI18N
        res.put("st_pixelascentroids", PostgisFunction.toList(new PostgisFunction("ST_PixelAsCentroids", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=TRUE", "boolean")), "RT_ST_PixelAsCentroids"))); //NOI18N
        res.put("st_value", PostgisFunction.toList(new PostgisFunction("ST_Value", "double precision", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum", "integer"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum", "integer"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean")), "RT_ST_Value"))); //NOI18N
        res.put("st_nearestvalue", PostgisFunction.toList(new PostgisFunction("ST_NearestValue", "double precision", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum", "integer"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum", "integer"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean")), "RT_ST_NearestValue"))); //NOI18N
        res.put("st_neighborhood", PostgisFunction.toList(new PostgisFunction("ST_Neighborhood", "double precision[][]", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum", "integer"), new PostgisFunctionParam("columnX", "integer"), new PostgisFunctionParam("rowY", "integer"), new PostgisFunctionParam("distanceX", "integer"), new PostgisFunctionParam("distanceY", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("columnX", "integer"), new PostgisFunctionParam("rowY", "integer"), new PostgisFunctionParam("distanceX", "integer"), new PostgisFunctionParam("distanceY", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum", "integer"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("distanceX", "integer"), new PostgisFunctionParam("distanceY", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pt", "geometry"), new PostgisFunctionParam("distanceX", "integer"), new PostgisFunctionParam("distanceY", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean")), "RT_ST_Neighborhood"))); //NOI18N
        res.put("st_setvalue", PostgisFunction.toList(new PostgisFunction("ST_SetValue", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum", "integer"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("newvalue", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("newvalue", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("bandnum", "integer"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("newvalue", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("newvalue", "double precision")), "RT_ST_SetValue"))); //NOI18N
        res.put("st_setvalues", PostgisFunction.toList(new PostgisFunction("ST_SetValues", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("newvalueset", "double precision[][]"), new PostgisFunctionParam("noset=NULL", "boolean[][]"), new PostgisFunctionParam("keepnodata=FALSE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("newvalueset", "double precision[][]"), new PostgisFunctionParam("nosetvalue", "double precision"), new PostgisFunctionParam("keepnodata=FALSE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("newvalue", "double precision"), new PostgisFunctionParam("keepnodata=FALSE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("columnx", "integer"), new PostgisFunctionParam("rowy", "integer"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("newvalue", "double precision"), new PostgisFunctionParam("keepnodata=FALSE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("geomvalset", "geomval[]"), new PostgisFunctionParam("keepnodata=FALSE", "boolean")), "RT_ST_SetValues"))); //NOI18N
        res.put("st_dumpvalues", PostgisFunction.toList(new PostgisFunction("ST_DumpValues", "setof record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer[]"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean")), "RT_ST_DumpValues"))); //NOI18N
        res.put("st_pixelofvalue", PostgisFunction.toList(new PostgisFunction("ST_PixelOfValue", "setof record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("search", "double precision[]"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("search", "double precision[]"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("search", "double precision"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("search", "double precision"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean")), "RT_ST_PixelOfValue"))); //NOI18N
        res.put("st_setgeoreference", PostgisFunction.toList(new PostgisFunction("ST_SetGeoReference", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("georefcoords", "text"), new PostgisFunctionParam("format=GDAL", "text"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("upperleftx", "double precision"), new PostgisFunctionParam("upperlefty", "double precision"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("skewx", "double precision"), new PostgisFunctionParam("skewy", "double precision")), "RT_ST_SetGeoReference"))); //NOI18N
        res.put("st_setrotation", PostgisFunction.toList(new PostgisFunction("ST_SetRotation", "float8", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("rotation", "float8")), "RT_ST_SetRotation"))); //NOI18N
        res.put("st_setscale", PostgisFunction.toList(new PostgisFunction("ST_SetScale", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("xy", "float8"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("x", "float8"), new PostgisFunctionParam("y", "float8")), "RT_ST_SetScale"))); //NOI18N
        res.put("st_setskew", PostgisFunction.toList(new PostgisFunction("ST_SetSkew", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("skewxy", "float8"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("skewx", "float8"), new PostgisFunctionParam("skewy", "float8")), "RT_ST_SetSkew"))); //NOI18N
        res.put("st_setsrid", PostgisFunction.toList(new PostgisFunction("ST_SetSRID", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("srid", "integer")), "RT_ST_SetSRID"))); //NOI18N
        res.put("st_setupperleft", PostgisFunction.toList(new PostgisFunction("ST_SetUpperLeft", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("x", "double precision"), new PostgisFunctionParam("y", "double precision")), "RT_ST_SetUpperLeft"))); //NOI18N
        res.put("st_resample", PostgisFunction.toList(new PostgisFunction("ST_Resample", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("gridx=NULL", "double precision"), new PostgisFunctionParam("gridy=NULL", "double precision"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("scalex=0", "double precision"), new PostgisFunctionParam("scaley=0", "double precision"), new PostgisFunctionParam("gridx=NULL", "double precision"), new PostgisFunctionParam("gridy=NULL", "double precision"), new PostgisFunctionParam("skewx=0", "double precision"), new PostgisFunctionParam("skewy=0", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbor", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("ref", "raster"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("usescale=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("ref", "raster"), new PostgisFunctionParam("usescale", "boolean"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision")), "RT_ST_Resample"))); //NOI18N
        res.put("st_rescale", PostgisFunction.toList(new PostgisFunction("ST_Rescale", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("scalexy", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision")), "RT_ST_Rescale"))); //NOI18N
        res.put("st_reskew", PostgisFunction.toList(new PostgisFunction("ST_Reskew", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("skewxy", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("skewx", "double precision"), new PostgisFunctionParam("skewy", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision")), "RT_ST_Reskew"))); //NOI18N
        res.put("st_snaptogrid", PostgisFunction.toList(new PostgisFunction("ST_SnapToGrid", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("gridx", "double precision"), new PostgisFunctionParam("gridy", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("scalex=DEFAULT 0", "double precision"), new PostgisFunctionParam("scaley=DEFAULT 0", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("gridx", "double precision"), new PostgisFunctionParam("gridy", "double precision"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("gridx", "double precision"), new PostgisFunctionParam("gridy", "double precision"), new PostgisFunctionParam("scalexy", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbour", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision")), "RT_ST_SnapToGrid"))); //NOI18N
        res.put("st_resize", PostgisFunction.toList(new PostgisFunction("ST_Resize", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("width", "integer"), new PostgisFunctionParam("height", "integer"), new PostgisFunctionParam("algorithm=NearestNeighbor", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("percentwidth", "double precision"), new PostgisFunctionParam("percentheight", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbor", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("width", "text"), new PostgisFunctionParam("height", "text"), new PostgisFunctionParam("algorithm=NearestNeighbor", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision")), "RT_ST_Resize"))); //NOI18N
        res.put("st_transform", PostgisFunction.toList(new PostgisFunction("ST_Transform", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("algorithm=NearestNeighbor", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("scalex", "double precision"), new PostgisFunctionParam("scaley", "double precision"), new PostgisFunctionParam("algorithm=NearestNeighbor", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("alignto", "raster"), new PostgisFunctionParam("algorithm=NearestNeighbor", "text"), new PostgisFunctionParam("maxerr=0.125", "double precision")), "RT_ST_Transform"))); //NOI18N
        res.put("st_setbandnodatavalue", PostgisFunction.toList(new PostgisFunction("ST_SetBandNoDataValue", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nodatavalue", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("nodatavalue", "double precision"), new PostgisFunctionParam("forcechecking=false", "boolean")), "RT_ST_SetBandNoDataValue"))); //NOI18N
        res.put("st_setbandisnodata", PostgisFunction.toList(new PostgisFunction("ST_SetBandIsNoData", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band=1", "integer")), "RT_ST_SetBandIsNoData"))); //NOI18N
        res.put("st_count", PostgisFunction.toList(new PostgisFunction("ST_Count", "bigint", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("exclude_nodata_value", "boolean")), "RT_ST_Count"))); //NOI18N
        res.put("st_histogram", PostgisFunction.toList(new PostgisFunction("ST_Histogram", "SETOF record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("bins=autocomputed", "integer"), new PostgisFunctionParam("width=NULL", "double precision[]"), new PostgisFunctionParam("right=false", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("bins", "integer"), new PostgisFunctionParam("width=NULL", "double precision[]"), new PostgisFunctionParam("right=false", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("bins", "integer"), new PostgisFunctionParam("right", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("bins", "integer"), new PostgisFunctionParam("right", "boolean"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("bins", "integer"), new PostgisFunctionParam("right", "boolean"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("bins", "integer"), new PostgisFunctionParam("right", "boolean"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("bins=autocomputed", "integer"), new PostgisFunctionParam("width=NULL", "double precision[]"), new PostgisFunctionParam("right=false", "boolean"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("bins", "integer"), new PostgisFunctionParam("width=NULL", "double precision[]"), new PostgisFunctionParam("right=false", "boolean")), "RT_ST_Histogram"))); //NOI18N
        res.put("st_quantile", PostgisFunction.toList(new PostgisFunction("ST_Quantile", "SETOF record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("quantiles=NULL", "double precision[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("quantiles", "double precision[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("quantiles", "double precision[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("quantile", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("quantile=NULL", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("quantile", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("quantile", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("quantile", "double precision"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("quantiles=NULL", "double precision[]"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("quantiles", "double precision[]")), "RT_ST_Quantile"))); //NOI18N
        res.put("st_summarystats", PostgisFunction.toList(new PostgisFunction("ST_SummaryStats", "record", Arrays.asList(new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("exclude_nodata_value", "boolean")), "RT_ST_SummaryStats"))); //NOI18N
        res.put("st_valuecount", PostgisFunction.toList(new PostgisFunction("ST_ValueCount", "SETOF record", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("searchvalues=NULL", "double precision[]"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("OUT value", "double precision"), new PostgisFunctionParam("OUT count", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("searchvalues", "double precision[]"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("OUT value", "double precision"), new PostgisFunctionParam("OUT count", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("searchvalues", "double precision[]"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("OUT value", "double precision"), new PostgisFunctionParam("OUT count", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("searchvalue", "double precision"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("searchvalue", "double precision"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("searchvalue", "double precision"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=true", "boolean"), new PostgisFunctionParam("searchvalues=NULL", "double precision[]"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("OUT value", "double precision"), new PostgisFunctionParam("OUT count", "integer"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("searchvalues", "double precision[]"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("OUT value", "double precision"), new PostgisFunctionParam("OUT count", "integer"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("searchvalues", "double precision[]"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("OUT value", "double precision"), new PostgisFunctionParam("OUT count", "integer"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("exclude_nodata_value", "boolean"), new PostgisFunctionParam("searchvalue", "double precision"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("searchvalue", "double precision"), new PostgisFunctionParam("roundto=0", "double precision"), new PostgisFunctionParam("rastertable", "text"), new PostgisFunctionParam("rastercolumn", "text"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("searchvalue", "double precision"), new PostgisFunctionParam("roundto=0", "double precision")), "RT_ST_ValueCount"))); //NOI18N
        res.put("st_asbinary", PostgisFunction.toList(new PostgisFunction("ST_AsBinary", "bytea", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("outasin=FALSE", "boolean")), "RT_ST_AsBinary"))); //NOI18N
        res.put("st_asgdalraster", PostgisFunction.toList(new PostgisFunction("ST_AsGDALRaster", "bytea", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("format", "text"), new PostgisFunctionParam("options=NULL", "text[]"), new PostgisFunctionParam("srid=sameassource", "integer")), "RT_ST_AsGDALRaster"))); //NOI18N
        res.put("st_asjpeg", PostgisFunction.toList(new PostgisFunction("ST_AsJPEG", "bytea", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("options=NULL", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("quality", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("options=NULL", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nbands", "integer[]"), new PostgisFunctionParam("options=NULL", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nbands", "integer[]"), new PostgisFunctionParam("quality", "integer")), "RT_ST_AsJPEG"))); //NOI18N
        res.put("st_aspng", PostgisFunction.toList(new PostgisFunction("ST_AsPNG", "bytea", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("options=NULL", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("compression", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("options=NULL", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nbands", "integer[]"), new PostgisFunctionParam("compression", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nbands", "integer[]"), new PostgisFunctionParam("options=NULL", "text[]")), "RT_ST_AsPNG"))); //NOI18N
        res.put("st_astiff", PostgisFunction.toList(new PostgisFunction("ST_AsTIFF", "bytea", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("options=''", "text[]"), new PostgisFunctionParam("srid=sameassource", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("compression=''", "text"), new PostgisFunctionParam("srid=sameassource", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nbands", "integer[]"), new PostgisFunctionParam("compression=''", "text"), new PostgisFunctionParam("srid=sameassource", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nbands", "integer[]"), new PostgisFunctionParam("options", "text[]"), new PostgisFunctionParam("srid=sameassource", "integer")), "RT_ST_AsTIFF"))); //NOI18N
        res.put("st_clip", PostgisFunction.toList(new PostgisFunction("ST_Clip", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer[]"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("nodataval=NULL", "double precision[]"), new PostgisFunctionParam("crop=TRUE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("nodataval", "double precision"), new PostgisFunctionParam("crop=TRUE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("crop", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("nodataval=NULL", "double precision[]"), new PostgisFunctionParam("crop=TRUE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("nodataval", "double precision"), new PostgisFunctionParam("crop=TRUE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("crop", "boolean")), "RT_ST_Clip"))); //NOI18N
        res.put("st_colormap", PostgisFunction.toList(new PostgisFunction("ST_ColorMap", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("colormap=grayscale", "text"), new PostgisFunctionParam("method=INTERPOLATE", "text"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("colormap", "text"), new PostgisFunctionParam("method=INTERPOLATE", "text")), "RT_ST_ColorMap"))); //NOI18N
        res.put("st_intersection", PostgisFunction.toList(new PostgisFunction("ST_Intersection", "setof geomval", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band_num=1", "integer"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band_num", "integer"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("nodataval", "double precision[]"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("returnband='BOTH'", "text"), new PostgisFunctionParam("nodataval=NULL", "double precision[]"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("band_num1", "integer"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("band_num2", "integer"), new PostgisFunctionParam("nodataval", "double precision[]"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("band_num1", "integer"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("band_num2", "integer"), new PostgisFunctionParam("returnband='BOTH'", "text"), new PostgisFunctionParam("nodataval=NULL", "double precision[]")), "RT_ST_Intersection"))); //NOI18N
        res.put("st_mapalgebra", PostgisFunction.toList(new PostgisFunction("ST_MapAlgebra", "raster", Arrays.asList(new PostgisFunctionParam("rastbandargset", "rastbandarg[]"), new PostgisFunctionParam("callbackfunc", "regprocedure"), new PostgisFunctionParam("pixeltype=NULL", "text"), new PostgisFunctionParam("extenttype=INTERSECTION", "text"), new PostgisFunctionParam("customextent=NULL", "raster"), new PostgisFunctionParam("distancex=0", "integer"), new PostgisFunctionParam("distancey=0", "integer"), new PostgisFunctionParam("VARIADIC userargs=NULL", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer[]"), new PostgisFunctionParam("callbackfunc", "regprocedure"), new PostgisFunctionParam("pixeltype=NULL", "text"), new PostgisFunctionParam("extenttype=FIRST", "text"), new PostgisFunctionParam("customextent=NULL", "raster"), new PostgisFunctionParam("distancex=0", "integer"), new PostgisFunctionParam("distancey=0", "integer"), new PostgisFunctionParam("VARIADIC userargs=NULL", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("callbackfunc", "regprocedure"), new PostgisFunctionParam("pixeltype=NULL", "text"), new PostgisFunctionParam("extenttype=FIRST", "text"), new PostgisFunctionParam("customextent=NULL", "raster"), new PostgisFunctionParam("distancex=0", "integer"), new PostgisFunctionParam("distancey=0", "integer"), new PostgisFunctionParam("VARIADIC userargs=NULL", "text[]"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("nband1", "integer"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("nband2", "integer"), new PostgisFunctionParam("callbackfunc", "regprocedure"), new PostgisFunctionParam("pixeltype=NULL", "text"), new PostgisFunctionParam("extenttype=INTERSECTION", "text"), new PostgisFunctionParam("customextent=NULL", "raster"), new PostgisFunctionParam("distancex=0", "integer"), new PostgisFunctionParam("distancey=0", "integer"), new PostgisFunctionParam("VARIADIC userargs=NULL", "text[]")), "RT_ST_MapAlgebra"))); //NOI18N
        res.put("st_mapalgebra", PostgisFunction.toList(new PostgisFunction("ST_MapAlgebra", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("expression", "text"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("expression", "text"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("nband1", "integer"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("nband2", "integer"), new PostgisFunctionParam("expression", "text"), new PostgisFunctionParam("pixeltype=NULL", "text"), new PostgisFunctionParam("extenttype=INTERSECTION", "text"), new PostgisFunctionParam("nodata1expr=NULL", "text"), new PostgisFunctionParam("nodata2expr=NULL", "text"), new PostgisFunctionParam("nodatanodataval=NULL", "double precision"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("expression", "text"), new PostgisFunctionParam("pixeltype=NULL", "text"), new PostgisFunctionParam("extenttype=INTERSECTION", "text"), new PostgisFunctionParam("nodata1expr=NULL", "text"), new PostgisFunctionParam("nodata2expr=NULL", "text"), new PostgisFunctionParam("nodatanodataval=NULL", "double precision")), "RT_ST_MapAlgebra_expr"))); //NOI18N
        res.put("st_mapalgebraexpr", PostgisFunction.toList(new PostgisFunction("ST_MapAlgebraExpr", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("expression", "text"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("expression", "text"), new PostgisFunctionParam("nodataval=NULL", "double precision")), "RT_ST_MapAlgebraExpr"))); //NOI18N
        res.put("st_mapalgebraexpr", PostgisFunction.toList(new PostgisFunction("ST_MapAlgebraExpr", "raster", Arrays.asList(new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("expression", "text"), new PostgisFunctionParam("pixeltype=same_as_rast1_band", "text"), new PostgisFunctionParam("extenttype=INTERSECTION", "text"), new PostgisFunctionParam("nodata1expr=NULL", "text"), new PostgisFunctionParam("nodata2expr=NULL", "text"), new PostgisFunctionParam("nodatanodataval=NULL", "double precision"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("band1", "integer"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("band2", "integer"), new PostgisFunctionParam("expression", "text"), new PostgisFunctionParam("pixeltype=same_as_rast1_band", "text"), new PostgisFunctionParam("extenttype=INTERSECTION", "text"), new PostgisFunctionParam("nodata1expr=NULL", "text"), new PostgisFunctionParam("nodata2expr=NULL", "text"), new PostgisFunctionParam("nodatanodataval=NULL", "double precision")), "RT_ST_MapAlgebraExpr2"))); //NOI18N
        res.put("st_mapalgebrafct", PostgisFunction.toList(new PostgisFunction("ST_MapAlgebraFct", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("onerasteruserfunc", "regprocedure"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("onerasteruserfunc", "regprocedure"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("onerasteruserfunc", "regprocedure"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("onerasteruserfunc", "regprocedure"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("onerasteruserfunc", "regprocedure"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("onerasteruserfunc", "regprocedure"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("onerasteruserfunc", "regprocedure"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("onerasteruserfunc", "regprocedure"), new PostgisFunctionParam("VARIADIC args", "text[]")), "RT_ST_MapAlgebraFct"))); //NOI18N
        res.put("st_mapalgebrafct", PostgisFunction.toList(new PostgisFunction("ST_MapAlgebraFct", "raster", Arrays.asList(new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("tworastuserfunc", "regprocedure"), new PostgisFunctionParam("pixeltype=same_as_rast1", "text"), new PostgisFunctionParam("extenttype=INTERSECTION", "text"), new PostgisFunctionParam("VARIADIC userargs", "text[]"), new PostgisFunctionParam("rast1", "raster"), new PostgisFunctionParam("band1", "integer"), new PostgisFunctionParam("rast2", "raster"), new PostgisFunctionParam("band2", "integer"), new PostgisFunctionParam("tworastuserfunc", "regprocedure"), new PostgisFunctionParam("pixeltype=same_as_rast1", "text"), new PostgisFunctionParam("extenttype=INTERSECTION", "text"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_MapAlgebraFct2"))); //NOI18N
        res.put("st_mapalgebrafctngb", PostgisFunction.toList(new PostgisFunction("ST_MapAlgebraFctNgb", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("ngbwidth", "integer"), new PostgisFunctionParam("ngbheight", "integer"), new PostgisFunctionParam("onerastngbuserfunc", "regprocedure"), new PostgisFunctionParam("nodatamode", "text"), new PostgisFunctionParam("VARIADIC args", "text[]")), "RT_ST_MapAlgebraFctNgb"))); //NOI18N
        res.put("st_reclass", PostgisFunction.toList(new PostgisFunction("ST_Reclass", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("reclassexpr", "text"), new PostgisFunctionParam("pixeltype", "text"), new PostgisFunctionParam("nodataval=NULL", "double precision"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("VARIADIC reclassargset", "reclassarg[]"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("reclassexpr", "text"), new PostgisFunctionParam("pixeltype", "text")), "RT_ST_Reclass"))); //NOI18N
        res.put("st_union", PostgisFunction.toList(new PostgisFunction("ST_Union", "raster", Arrays.asList(new PostgisFunctionParam("rast", "setof raster"), new PostgisFunctionParam("rast", "setof raster"), new PostgisFunctionParam("unionargset", "unionarg[]"), new PostgisFunctionParam("rast", "setof raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("rast", "setof raster"), new PostgisFunctionParam("uniontype", "text"), new PostgisFunctionParam("rast", "setof raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("uniontype", "text")), "RT_ST_Union"))); //NOI18N
        res.put("st_distinct4ma", PostgisFunction.toList(new PostgisFunction("ST_Distinct4ma", "float8", Arrays.asList(new PostgisFunctionParam("matrix", "float8[][]"), new PostgisFunctionParam("nodatamode", "text"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_Distinct4ma"))); //NOI18N
        res.put("st_invdistweight4ma", PostgisFunction.toList(new PostgisFunction("ST_InvDistWeight4ma", "double precision", Arrays.asList(new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_InvDistWeight4ma"))); //NOI18N
        res.put("st_max4ma", PostgisFunction.toList(new PostgisFunction("ST_Max4ma", "float8", Arrays.asList(new PostgisFunctionParam("matrix", "float8[][]"), new PostgisFunctionParam("nodatamode", "text"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_Max4ma"))); //NOI18N
        res.put("st_mean4ma", PostgisFunction.toList(new PostgisFunction("ST_Mean4ma", "float8", Arrays.asList(new PostgisFunctionParam("matrix", "float8[][]"), new PostgisFunctionParam("nodatamode", "text"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_Mean4ma"))); //NOI18N
        res.put("st_min4ma", PostgisFunction.toList(new PostgisFunction("ST_Min4ma", "float8", Arrays.asList(new PostgisFunctionParam("matrix", "float8[][]"), new PostgisFunctionParam("nodatamode", "text"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_Min4ma"))); //NOI18N
        res.put("st_mindist4ma", PostgisFunction.toList(new PostgisFunction("ST_MinDist4ma", "double precision", Arrays.asList(new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_MinDist4ma"))); //NOI18N
        res.put("st_range4ma", PostgisFunction.toList(new PostgisFunction("ST_Range4ma", "float8", Arrays.asList(new PostgisFunctionParam("matrix", "float8[][]"), new PostgisFunctionParam("nodatamode", "text"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_Range4ma"))); //NOI18N
        res.put("st_stddev4ma", PostgisFunction.toList(new PostgisFunction("ST_StdDev4ma", "float8", Arrays.asList(new PostgisFunctionParam("matrix", "float8[][]"), new PostgisFunctionParam("nodatamode", "text"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_StdDev4ma"))); //NOI18N
        res.put("st_sum4ma", PostgisFunction.toList(new PostgisFunction("ST_Sum4ma", "float8", Arrays.asList(new PostgisFunctionParam("matrix", "float8[][]"), new PostgisFunctionParam("nodatamode", "text"), new PostgisFunctionParam("VARIADIC args", "text[]"), new PostgisFunctionParam("value", "double precision[][][]"), new PostgisFunctionParam("pos", "integer[][]"), new PostgisFunctionParam("VARIADIC userargs", "text[]")), "RT_ST_Sum4ma"))); //NOI18N
        res.put("st_aspect", PostgisFunction.toList(new PostgisFunction("ST_Aspect", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band=1", "integer"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("units=DEGREES", "text"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("customextent", "raster"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("units=DEGREES", "text"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean")), "RT_ST_Aspect"))); //NOI18N
        res.put("st_hillshade", PostgisFunction.toList(new PostgisFunction("ST_HillShade", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band=1", "integer"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("azimuth=315", "double precision"), new PostgisFunctionParam("altitude=45", "double precision"), new PostgisFunctionParam("max_bright=255", "double precision"), new PostgisFunctionParam("scale=1.0", "double precision"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band", "integer"), new PostgisFunctionParam("customextent", "raster"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("azimuth=315", "double precision"), new PostgisFunctionParam("altitude=45", "double precision"), new PostgisFunctionParam("max_bright=255", "double precision"), new PostgisFunctionParam("scale=1.0", "double precision"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean")), "RT_ST_HillShade"))); //NOI18N
        res.put("st_roughness", PostgisFunction.toList(new PostgisFunction("ST_Roughness", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("customextent", "raster"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean")), "RT_ST_Roughness"))); //NOI18N
        res.put("st_slope", PostgisFunction.toList(new PostgisFunction("ST_Slope", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband=1", "integer"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("units=DEGREES", "text"), new PostgisFunctionParam("scale=1.0", "double precision"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("customextent", "raster"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("units=DEGREES", "text"), new PostgisFunctionParam("scale=1.0", "double precision"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean")), "RT_ST_Slope"))); //NOI18N
        res.put("st_tpi", PostgisFunction.toList(new PostgisFunction("ST_TPI", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("customextent", "raster"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean")), "RT_ST_TPI"))); //NOI18N
        res.put("st_tri", PostgisFunction.toList(new PostgisFunction("ST_TRI", "raster", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("customextent", "raster"), new PostgisFunctionParam("pixeltype=32BF", "text"), new PostgisFunctionParam("interpolate_nodata=FALSE", "boolean")), "RT_ST_TRI"))); //NOI18N
        res.put("box3d", PostgisFunction.toList(new PostgisFunction("Box3D", "box3d", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_Box3D"))); //NOI18N
        res.put("st_convexhull", PostgisFunction.toList(new PostgisFunction("ST_ConvexHull", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_ConvexHull"))); //NOI18N
        res.put("st_dumpaspolygons", PostgisFunction.toList(new PostgisFunction("ST_DumpAsPolygons", "setof geomval", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band_num=1", "integer"), new PostgisFunctionParam("exclude_nodata_value=TRUE", "boolean")), "RT_ST_DumpAsPolygons"))); //NOI18N
        res.put("st_envelope", PostgisFunction.toList(new PostgisFunction("ST_Envelope", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster")), "RT_ST_Envelope"))); //NOI18N
        res.put("st_minconvexhull", PostgisFunction.toList(new PostgisFunction("ST_MinConvexHull", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband=NULL", "integer")), "RT_ST_MinConvexHull"))); //NOI18N
        res.put("st_polygon", PostgisFunction.toList(new PostgisFunction("ST_Polygon", "geometry", Arrays.asList(new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("band_num=1", "integer")), "RT_ST_Polygon"))); //NOI18N
        res.put("&amp;&amp;", PostgisFunction.toList(new PostgisFunction("&amp;&amp;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "raster"), new PostgisFunctionParam("B", "raster")), "RT_Raster_Intersect"))); //NOI18N
        res.put("&amp;&lt;", PostgisFunction.toList(new PostgisFunction("&amp;&lt;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "raster"), new PostgisFunctionParam("B", "raster")), "RT_Raster_OverLeft"))); //NOI18N
        res.put("&amp;&gt;", PostgisFunction.toList(new PostgisFunction("&amp;&gt;", "boolean", Arrays.asList(new PostgisFunctionParam("A", "raster"), new PostgisFunctionParam("B", "raster")), "RT_Raster_OverRight"))); //NOI18N
        res.put("st_contains", PostgisFunction.toList(new PostgisFunction("ST_Contains", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_Contains"))); //NOI18N
        res.put("st_containsproperly", PostgisFunction.toList(new PostgisFunction("ST_ContainsProperly", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_ContainsProperly"))); //NOI18N
        res.put("st_covers", PostgisFunction.toList(new PostgisFunction("ST_Covers", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_Covers"))); //NOI18N
        res.put("st_coveredby", PostgisFunction.toList(new PostgisFunction("ST_CoveredBy", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_CoveredBy"))); //NOI18N
        res.put("st_disjoint", PostgisFunction.toList(new PostgisFunction("ST_Disjoint", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_Disjoint"))); //NOI18N
        res.put("st_intersects", PostgisFunction.toList(new PostgisFunction("ST_Intersects", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband", "integer"), new PostgisFunctionParam("geommin", "geometry"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("geommin", "geometry"), new PostgisFunctionParam("nband=NULL", "integer"), new PostgisFunctionParam("geommin", "geometry"), new PostgisFunctionParam("rast", "raster"), new PostgisFunctionParam("nband=NULL", "integer")), "RT_ST_Intersects"))); //NOI18N
        res.put("st_overlaps", PostgisFunction.toList(new PostgisFunction("ST_Overlaps", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_Overlaps"))); //NOI18N
        res.put("st_touches", PostgisFunction.toList(new PostgisFunction("ST_Touches", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_Touches"))); //NOI18N
        res.put("st_samealignment", PostgisFunction.toList(new PostgisFunction("ST_SameAlignment", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("ulx1", "double precision"), new PostgisFunctionParam("uly1", "double precision"), new PostgisFunctionParam("scalex1", "double precision"), new PostgisFunctionParam("scaley1", "double precision"), new PostgisFunctionParam("skewx1", "double precision"), new PostgisFunctionParam("skewy1", "double precision"), new PostgisFunctionParam("ulx2", "double precision"), new PostgisFunctionParam("uly2", "double precision"), new PostgisFunctionParam("scalex2", "double precision"), new PostgisFunctionParam("scaley2", "double precision"), new PostgisFunctionParam("skewx2", "double precision"), new PostgisFunctionParam("skewy2", "double precision"), new PostgisFunctionParam("rastfield", "raster set")), "RT_ST_SameAlignment"))); //NOI18N
        res.put("st_samealignment", PostgisFunction.toList(new PostgisFunction("ST_SameAlignment", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_NotSameAlignmentReason"))); //NOI18N
        res.put("st_within", PostgisFunction.toList(new PostgisFunction("ST_Within", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster")), "RT_ST_Within"))); //NOI18N
        res.put("st_dwithin", PostgisFunction.toList(new PostgisFunction("ST_DWithin", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("distance_of_srid", "double precision"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("distance_of_srid", "double precision")), "RT_ST_DWithin"))); //NOI18N
        res.put("st_dfullywithin", PostgisFunction.toList(new PostgisFunction("ST_DFullyWithin", "boolean", Arrays.asList(new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("nbandA", "integer"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("nbandB", "integer"), new PostgisFunctionParam("distance_of_srid", "double precision"), new PostgisFunctionParam("rastA", "raster"), new PostgisFunctionParam("rastB", "raster"), new PostgisFunctionParam("distance_of_srid", "double precision")), "RT_ST_DFullyWithin"))); //NOI18N
        res.put("addtopogeometrycolumn", PostgisFunction.toList(new PostgisFunction("AddTopoGeometryColumn", "text", Arrays.asList(new PostgisFunctionParam("topology_name", "varchar"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("feature_type", "varchar"), new PostgisFunctionParam("topology_name", "varchar"), new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar"), new PostgisFunctionParam("feature_type", "varchar"), new PostgisFunctionParam("child_layer", "integer")), "getfaceedges_returntype"))); //NOI18N
        res.put("droptopology", PostgisFunction.toList(new PostgisFunction("DropTopology", "integer", Arrays.asList(new PostgisFunctionParam("topology_schema_name", "varchar")), "DropTopology"))); //NOI18N
        res.put("droptopogeometrycolumn", PostgisFunction.toList(new PostgisFunction("DropTopoGeometryColumn", "text", Arrays.asList(new PostgisFunctionParam("schema_name", "varchar"), new PostgisFunctionParam("table_name", "varchar"), new PostgisFunctionParam("column_name", "varchar")), "DropTopoGeometryColumn"))); //NOI18N
        res.put("topologysummary", PostgisFunction.toList(new PostgisFunction("TopologySummary", "text", Arrays.asList(new PostgisFunctionParam("topology_schema_name", "varchar")), "TopologySummary"))); //NOI18N
        res.put("validatetopology", PostgisFunction.toList(new PostgisFunction("ValidateTopology", "setof validatetopology_returntype", Arrays.asList(new PostgisFunctionParam("topology_schema_name", "varchar")), "ValidateTopology"))); //NOI18N
        res.put("createtopology", PostgisFunction.toList(new PostgisFunction("CreateTopology", "integer", Arrays.asList(new PostgisFunctionParam("topology_schema_name", "varchar"), new PostgisFunctionParam("topology_schema_name", "varchar"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("topology_schema_name", "varchar"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("tolerance", "double precision"), new PostgisFunctionParam("topology_schema_name", "varchar"), new PostgisFunctionParam("srid", "integer"), new PostgisFunctionParam("tolerance", "double precision"), new PostgisFunctionParam("hasz", "boolean")), "CreateTopology"))); //NOI18N
        res.put("copytopology", PostgisFunction.toList(new PostgisFunction("CopyTopology", "integer", Arrays.asList(new PostgisFunctionParam("existing_topology_name", "varchar"), new PostgisFunctionParam("new_name", "varchar")), "CopyTopology"))); //NOI18N
        res.put("st_inittopogeo", PostgisFunction.toList(new PostgisFunction("ST_InitTopoGeo", "text", Arrays.asList(new PostgisFunctionParam("topology_schema_name", "varchar")), "ST_InitTopoGeo"))); //NOI18N
        res.put("st_createtopogeo", PostgisFunction.toList(new PostgisFunction("ST_CreateTopoGeo", "text", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("acollection", "geometry")), "ST_CreateTopoGeo"))); //NOI18N
        res.put("topogeo_addpoint", PostgisFunction.toList(new PostgisFunction("TopoGeo_AddPoint", "integer", Arrays.asList(new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("apoint", "geometry"), new PostgisFunctionParam("tolerance", "float8")), "TopoGeo_AddPoint"))); //NOI18N
        res.put("topogeo_addlinestring", PostgisFunction.toList(new PostgisFunction("TopoGeo_AddLineString", "SETOF integer", Arrays.asList(new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("aline", "geometry"), new PostgisFunctionParam("tolerance", "float8")), "TopoGeo_AddLineString"))); //NOI18N
        res.put("topogeo_addpolygon", PostgisFunction.toList(new PostgisFunction("TopoGeo_AddPolygon", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("apoly", "geometry"), new PostgisFunctionParam("atolerance", "float8")), "TopoGeo_AddPolygon"))); //NOI18N
        res.put("st_addisonode", PostgisFunction.toList(new PostgisFunction("ST_AddIsoNode", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("aface", "integer"), new PostgisFunctionParam("apoint", "geometry")), "ST_AddIsoNode"))); //NOI18N
        res.put("st_addisoedge", PostgisFunction.toList(new PostgisFunction("ST_AddIsoEdge", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anode", "integer"), new PostgisFunctionParam("anothernode", "integer"), new PostgisFunctionParam("alinestring", "geometry")), "ST_AddIsoEdge"))); //NOI18N
        res.put("st_addedgenewfaces", PostgisFunction.toList(new PostgisFunction("ST_AddEdgeNewFaces", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anode", "integer"), new PostgisFunctionParam("anothernode", "integer"), new PostgisFunctionParam("acurve", "geometry")), "ST_AddEdgeNewFaces"))); //NOI18N
        res.put("st_addedgemodface", PostgisFunction.toList(new PostgisFunction("ST_AddEdgeModFace", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anode", "integer"), new PostgisFunctionParam("anothernode", "integer"), new PostgisFunctionParam("acurve", "geometry")), "ST_AddEdgeModFace"))); //NOI18N
        res.put("st_remedgenewface", PostgisFunction.toList(new PostgisFunction("ST_RemEdgeNewFace", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anedge", "integer")), "ST_RemEdgeNewFace"))); //NOI18N
        res.put("st_remedgemodface", PostgisFunction.toList(new PostgisFunction("ST_RemEdgeModFace", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anedge", "integer")), "ST_RemEdgeModFace"))); //NOI18N
        res.put("st_changeedgegeom", PostgisFunction.toList(new PostgisFunction("ST_ChangeEdgeGeom", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anedge", "integer"), new PostgisFunctionParam("acurve", "geometry")), "ST_ChangeEdgeGeom"))); //NOI18N
        res.put("st_modedgesplit", PostgisFunction.toList(new PostgisFunction("ST_ModEdgeSplit", "text", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anedge", "integer"), new PostgisFunctionParam("apoint", "geometry")), "ST_ModEdgeSplit"))); //NOI18N
        res.put("st_modedgeheal", PostgisFunction.toList(new PostgisFunction("ST_ModEdgeHeal", "int", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anedge", "integer"), new PostgisFunctionParam("anotheredge", "integer")), "ST_ModEdgeHeal"))); //NOI18N
        res.put("st_newedgeheal", PostgisFunction.toList(new PostgisFunction("ST_NewEdgeHeal", "int", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anedge", "integer"), new PostgisFunctionParam("anotheredge", "integer")), "ST_NewEdgeHeal"))); //NOI18N
        res.put("st_moveisonode", PostgisFunction.toList(new PostgisFunction("ST_MoveIsoNode", "text", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anedge", "integer"), new PostgisFunctionParam("apoint", "geometry")), "ST_MoveIsoNode"))); //NOI18N
        res.put("st_newedgessplit", PostgisFunction.toList(new PostgisFunction("ST_NewEdgesSplit", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anedge", "integer"), new PostgisFunctionParam("apoint", "geometry")), "ST_NewEdgesSplit"))); //NOI18N
        res.put("st_removeisonode", PostgisFunction.toList(new PostgisFunction("ST_RemoveIsoNode", "text", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anode", "integer")), "ST_RemoveIsoNode"))); //NOI18N
        res.put("getedgebypoint", PostgisFunction.toList(new PostgisFunction("GetEdgeByPoint", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("apoint", "geometry"), new PostgisFunctionParam("tol", "float8")), "GetEdgeByPoint"))); //NOI18N
        res.put("getfacebypoint", PostgisFunction.toList(new PostgisFunction("GetFaceByPoint", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("apoint", "geometry"), new PostgisFunctionParam("tol", "float8")), "GetFaceByPoint"))); //NOI18N
        res.put("getnodebypoint", PostgisFunction.toList(new PostgisFunction("GetNodeByPoint", "integer", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("point", "geometry"), new PostgisFunctionParam("tol", "float8")), "GetNodeByPoint"))); //NOI18N
        res.put("gettopologyid", PostgisFunction.toList(new PostgisFunction("GetTopologyID", "integer", Arrays.asList(new PostgisFunctionParam("toponame", "varchar")), "GetTopologyID"))); //NOI18N
        res.put("gettopologyid", PostgisFunction.toList(new PostgisFunction("GetTopologyID", "integer", Arrays.asList(new PostgisFunctionParam("toponame", "varchar")), "GetTopologySRID"))); //NOI18N
        res.put("gettopologyname", PostgisFunction.toList(new PostgisFunction("GetTopologyName", "varchar", Arrays.asList(new PostgisFunctionParam("topology_id", "integer")), "GetTopologyName"))); //NOI18N
        res.put("st_getfaceedges", PostgisFunction.toList(new PostgisFunction("ST_GetFaceEdges", "getfaceedges_returntype", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("aface", "integer")), "ST_GetFaceEdges"))); //NOI18N
        res.put("st_getfacegeometry", PostgisFunction.toList(new PostgisFunction("ST_GetFaceGeometry", "geometry", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("aface", "integer")), "ST_GetFaceGeometry"))); //NOI18N
        res.put("getringedges", PostgisFunction.toList(new PostgisFunction("GetRingEdges", "getfaceedges_returntype", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("aring", "integer"), new PostgisFunctionParam("max_edges=null", "integer")), "GetRingEdges"))); //NOI18N
        res.put("getnodeedges", PostgisFunction.toList(new PostgisFunction("GetNodeEdges", "getfaceedges_returntype", Arrays.asList(new PostgisFunctionParam("atopology", "varchar"), new PostgisFunctionParam("anode", "integer")), "GetNodeEdges"))); //NOI18N
        res.put("polygonize", PostgisFunction.toList(new PostgisFunction("Polygonize", "text", Arrays.asList(new PostgisFunctionParam("toponame", "varchar")), "TopologyPolygonize"))); //NOI18N
        res.put("addnode", PostgisFunction.toList(new PostgisFunction("AddNode", "integer", Arrays.asList(new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("apoint", "geometry"), new PostgisFunctionParam("allowEdgeSplitting=false", "boolean"), new PostgisFunctionParam("computeContainingFace=false", "boolean")), "AddNode"))); //NOI18N
        res.put("addedge", PostgisFunction.toList(new PostgisFunction("AddEdge", "integer", Arrays.asList(new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("aline", "geometry")), "AddEdge"))); //NOI18N
        res.put("addface", PostgisFunction.toList(new PostgisFunction("AddFace", "integer", Arrays.asList(new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("apolygon", "geometry"), new PostgisFunctionParam("force_new=false", "boolean")), "AddFace"))); //NOI18N
        res.put("st_simplify", PostgisFunction.toList(new PostgisFunction("ST_Simplify", "geometry", Arrays.asList(new PostgisFunctionParam("geomA", "TopoGeometry"), new PostgisFunctionParam("tolerance", "float")), "TP_ST_Simplify"))); //NOI18N
        res.put("createtopogeom", PostgisFunction.toList(new PostgisFunction("CreateTopoGeom", "topogeometry", Arrays.asList(new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("tg_type", "integer"), new PostgisFunctionParam("layer_id", "integer"), new PostgisFunctionParam("tg_objs", "topoelementarray"), new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("tg_type", "integer"), new PostgisFunctionParam("layer_id", "integer")), "CreateTopoGeom"))); //NOI18N
        res.put("totopogeom", PostgisFunction.toList(new PostgisFunction("toTopoGeom", "topogeometry", Arrays.asList(new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("layer_id", "integer"), new PostgisFunctionParam("tolerance", "float8"), new PostgisFunctionParam("geom", "geometry"), new PostgisFunctionParam("topogeom", "topogeometry"), new PostgisFunctionParam("tolerance", "float8")), "toTopoGeom"))); //NOI18N
        res.put("topoelementarray_agg", PostgisFunction.toList(new PostgisFunction("TopoElementArray_Agg", "topoelementarray", Arrays.asList(new PostgisFunctionParam("tefield", "topoelement set")), "TopoElementArray_Agg"))); //NOI18N
        res.put("cleartopogeom", PostgisFunction.toList(new PostgisFunction("clearTopoGeom", "topogeometry", Arrays.asList(new PostgisFunctionParam("topogeom", "topogeometry")), "clearTopoGeom"))); //NOI18N
        res.put("gettopogeomelementarray", PostgisFunction.toList(new PostgisFunction("GetTopoGeomElementArray", "topoelementarray", Arrays.asList(new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("layer_id", "integer"), new PostgisFunctionParam("tg_id", "integer"), new PostgisFunctionParam("tg", "topogeometry")), "toTopoGeom_editor_proxy"))); //NOI18N
        res.put("gettopogeomelements", PostgisFunction.toList(new PostgisFunction("GetTopoGeomElements", "setof topoelement", Arrays.asList(new PostgisFunctionParam("toponame", "varchar"), new PostgisFunctionParam("layer_id", "integer"), new PostgisFunctionParam("tg_id", "integer"), new PostgisFunctionParam("tg", "topogeometry")), "GetTopoGeomElements"))); //NOI18N
        res.put("asgml", PostgisFunction.toList(new PostgisFunction("AsGML", "text", Arrays.asList(new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("nsprefix_in", "text"), new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("visitedTable", "regclass"), new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("visitedTable", "regclass"), new PostgisFunctionParam("nsprefix", "text"), new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("nsprefix_in", "text"), new PostgisFunctionParam("precision", "integer"), new PostgisFunctionParam("options", "integer"), new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("nsprefix_in", "text"), new PostgisFunctionParam("precision", "integer"), new PostgisFunctionParam("options", "integer"), new PostgisFunctionParam("visitedTable", "regclass"), new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("nsprefix_in", "text"), new PostgisFunctionParam("precision", "integer"), new PostgisFunctionParam("options", "integer"), new PostgisFunctionParam("visitedTable", "regclass"), new PostgisFunctionParam("idprefix", "text"), new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("nsprefix_in", "text"), new PostgisFunctionParam("precision", "integer"), new PostgisFunctionParam("options", "integer"), new PostgisFunctionParam("visitedTable", "regclass"), new PostgisFunctionParam("idprefix", "text"), new PostgisFunctionParam("gmlversion", "int")), "AsGML"))); //NOI18N
        res.put("astopojson", PostgisFunction.toList(new PostgisFunction("AsTopoJSON", "text", Arrays.asList(new PostgisFunctionParam("tg", "topogeometry"), new PostgisFunctionParam("edgeMapTable", "regclass")), "AsTopoJSON"))); //NOI18N
        return res;
    }

}
